Back to home page

EIC code displayed by LXR

 
 

    


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

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_XSATTRIBUTEGROUPDEFINITION_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XSATTRIBUTEGROUPDEFINITION_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 Attribute
0031  * Group 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 XSAttributeUse;
0039 class XSWildcard;
0040 class XercesAttGroupInfo;
0041 
0042 class XMLPARSER_EXPORT XSAttributeGroupDefinition : public XSObject
0043 {
0044 public:
0045 
0046     //  Constructors and Destructor
0047     // -----------------------------------------------------------------------
0048     /** @name Constructors */
0049     //@{
0050 
0051     /**
0052       * The default constructor 
0053       *
0054       * @param  xercesAttGroupInfo
0055       * @param  xsAttList
0056       * @param  xsWildcard
0057       * @param  xsAnnot
0058       * @param  xsModel
0059       * @param  manager     The configurable memory manager
0060       */
0061     XSAttributeGroupDefinition
0062     (
0063         XercesAttGroupInfo* const   xercesAttGroupInfo
0064         , XSAttributeUseList* const xsAttList
0065         , XSWildcard* const         xsWildcard
0066         , XSAnnotation* const       xsAnnot
0067         , XSModel* const            xsModel
0068         , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
0069     );
0070 
0071     //@};
0072 
0073     /** @name Destructor */
0074     //@{
0075     ~XSAttributeGroupDefinition();
0076     //@}
0077 
0078     //---------------------
0079     /** @name overridden XSObject methods */
0080     //@{
0081 
0082     /**
0083      * The name of type <code>NCName</code> of this declaration as defined in 
0084      * XML Namespaces.
0085      */
0086     const XMLCh* getName() const;
0087 
0088     /**
0089      *  The [target namespace] of this object, or <code>null</code> if it is 
0090      * unspecified. 
0091      */
0092     const XMLCh* getNamespace() const;
0093 
0094     /**
0095      * A namespace schema information item corresponding to the target 
0096      * namespace of the component, if it's globally declared; or null 
0097      * otherwise.
0098      */
0099     XSNamespaceItem* getNamespaceItem();
0100 
0101     //@}
0102 
0103     //--------------------- 
0104     /** @name XSAttributeGroupDefinition methods */
0105 
0106     //@{
0107 
0108     /**
0109      * A set of [attribute uses]. 
0110      */
0111     XSAttributeUseList *getAttributeUses();
0112 
0113     /**
0114      * Optional. A [wildcard]. 
0115      */
0116     XSWildcard *getAttributeWildcard() const;
0117 
0118     /**
0119      * Optional. An [annotation]. 
0120      */
0121     XSAnnotation *getAnnotation() const;
0122 
0123     //@}
0124 
0125     //----------------------------------
0126     /** methods needed by implementation */
0127 
0128     //@{
0129 
0130     //@}
0131 private:
0132 
0133     // -----------------------------------------------------------------------
0134     //  Unimplemented constructors and operators
0135     // -----------------------------------------------------------------------
0136     XSAttributeGroupDefinition(const XSAttributeGroupDefinition&);
0137     XSAttributeGroupDefinition & operator=(const XSAttributeGroupDefinition &);
0138 
0139 protected:
0140 
0141     // -----------------------------------------------------------------------
0142     //  data members
0143     // -----------------------------------------------------------------------
0144     XercesAttGroupInfo*     fXercesAttGroupInfo;
0145     XSAttributeUseList*     fXSAttributeUseList;
0146     XSWildcard*             fXSWildcard;
0147     XSAnnotation*           fAnnotation;
0148 };
0149 
0150 inline XSAttributeUseList* XSAttributeGroupDefinition::getAttributeUses()
0151 {
0152     return fXSAttributeUseList;
0153 }
0154 
0155 inline XSWildcard* XSAttributeGroupDefinition::getAttributeWildcard() const
0156 {
0157     return fXSWildcard;
0158 }
0159 
0160 inline XSAnnotation* XSAttributeGroupDefinition::getAnnotation() const
0161 {
0162     return fAnnotation;
0163 }
0164 
0165 XERCES_CPP_NAMESPACE_END
0166 
0167 #endif