Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:52

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_XSMODELGROUPDEFINITION_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XSMODELGROUPDEFINITION_HPP
0024 
0025 #include <xercesc/framework/psvi/XSObject.hpp>
0026 
0027 XERCES_CPP_NAMESPACE_BEGIN
0028 
0029 /**
0030  * This class describes all properties of a Schema Model Group
0031  * Definition component.
0032  * This is *always* owned by the validator /parser object from which
0033  * it is obtained.  
0034  */
0035 
0036 // forward declarations
0037 class XSAnnotation;
0038 class XSModelGroup;
0039 class XSParticle;
0040 class XercesGroupInfo;
0041 
0042 class XMLPARSER_EXPORT XSModelGroupDefinition : public XSObject
0043 {
0044 public:
0045 
0046     //  Constructors and Destructor
0047     // -----------------------------------------------------------------------
0048     /** @name Constructors */
0049     //@{
0050 
0051     /**
0052       * The default constructor 
0053       *
0054       * @param  groupInfo
0055       * @param  groupParticle
0056       * @param  annot
0057       * @param  xsModel
0058       * @param  manager     The configurable memory manager
0059       */
0060     XSModelGroupDefinition
0061     (
0062         XercesGroupInfo* const groupInfo
0063         , XSParticle* const    groupParticle
0064         , XSAnnotation* const  annot
0065         , XSModel* const       xsModel
0066         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
0067     );
0068 
0069     //@};
0070 
0071     /** @name Destructor */
0072     //@{
0073     ~XSModelGroupDefinition();
0074     //@}
0075 
0076     //---------------------
0077     /** @name overridden XSXSObject methods */
0078     //@{
0079 
0080     /**
0081      * The name of type <code>NCName</code> of this declaration as defined in 
0082      * XML Namespaces.
0083      */
0084     const XMLCh* getName() const;
0085 
0086     /**
0087      *  The [target namespace] of this object, or <code>null</code> if it is 
0088      * unspecified. 
0089      */
0090     const XMLCh* getNamespace() const;
0091 
0092     /**
0093      * A namespace schema information item corresponding to the target 
0094      * namespace of the component, if it's globally declared; or null 
0095      * otherwise.
0096      */
0097     XSNamespaceItem *getNamespaceItem();
0098 
0099     //@}
0100 
0101     //---------------------
0102     /** @name XSModelGroupDefinition methods */
0103 
0104     //@{
0105 
0106     /**
0107      * A model group. 
0108      */
0109     XSModelGroup *getModelGroup();
0110 
0111     /**
0112      * Optional. An [annotation]. 
0113      */
0114     XSAnnotation *getAnnotation() const;
0115 
0116     //@}
0117 
0118     //----------------------------------
0119     /** methods needed by implementation */
0120     //@{
0121 
0122     //@}
0123 private:
0124 
0125     // -----------------------------------------------------------------------
0126     //  Unimplemented constructors and operators
0127     // -----------------------------------------------------------------------
0128     XSModelGroupDefinition(const XSModelGroupDefinition&);
0129     XSModelGroupDefinition & operator=(const XSModelGroupDefinition &);
0130 
0131 protected:
0132 
0133     // -----------------------------------------------------------------------
0134     //  data members
0135     // -----------------------------------------------------------------------
0136     XercesGroupInfo* fGroupInfo;
0137     XSParticle*      fModelGroupParticle;
0138     XSAnnotation*    fAnnotation;
0139 };
0140 
0141 inline XSAnnotation* XSModelGroupDefinition::getAnnotation() const
0142 {
0143     return fAnnotation;
0144 }
0145 
0146 
0147 
0148 XERCES_CPP_NAMESPACE_END
0149 
0150 #endif