source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/framework/psvi/XSAttributeGroupDefinition.hpp @ 2674

Revision 2674, 4.4 KB checked in by mattausch, 16 years ago (diff)
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: XSAttributeGroupDefinition.hpp 568078 2007-08-21 11:43:25Z amassari $
20 */
21
22#if !defined(XSATTRIBUTEGROUPDEFINITION_HPP)
23#define XSATTRIBUTEGROUPDEFINITION_HPP
24
25#include <xercesc/framework/psvi/XSObject.hpp>
26
27XERCES_CPP_NAMESPACE_BEGIN
28
29/**
30 * This class describes all properties of a Schema Attribute
31 * Group Definition component.
32 * This is *always* owned by the validator /parser object from which
33 * it is obtained. 
34 */
35
36// forward declarations
37class XSAnnotation;
38class XSAttributeUse;
39class XSWildcard;
40class XercesAttGroupInfo;
41
42class XMLPARSER_EXPORT XSAttributeGroupDefinition : public XSObject
43{
44public:
45
46    //  Constructors and Destructor
47    // -----------------------------------------------------------------------
48    /** @name Constructors */
49    //@{
50
51    /**
52      * The default constructor
53      *
54      * @param  xercesAttGroupInfo
55      * @param  xsAttList
56      * @param  xsWildcard
57      * @param  xsAnnot
58      * @param  xsModel
59      * @param  manager     The configurable memory manager
60      */
61    XSAttributeGroupDefinition
62    (
63        XercesAttGroupInfo* const   xercesAttGroupInfo
64        , XSAttributeUseList* const xsAttList
65        , XSWildcard* const         xsWildcard
66        , XSAnnotation* const       xsAnnot
67        , XSModel* const            xsModel
68        , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
69    );
70
71    //@};
72
73    /** @name Destructor */
74    //@{
75    ~XSAttributeGroupDefinition();
76    //@}
77
78    //---------------------
79    /** @name overridden XSObject methods */
80    //@{
81
82    /**
83     * The name of type <code>NCName</code> of this declaration as defined in
84     * XML Namespaces.
85     */
86    const XMLCh* getName();
87
88    /**
89     *  The [target namespace] of this object, or <code>null</code> if it is
90     * unspecified.
91     */
92    const XMLCh* getNamespace();
93
94    /**
95     * A namespace schema information item corresponding to the target
96     * namespace of the component, if it's globally declared; or null
97     * otherwise.
98     */
99    XSNamespaceItem* getNamespaceItem();
100
101    //@}
102
103    //---------------------
104    /** @name XSAttributeGroupDefinition methods */
105
106    //@{
107
108    /**
109     * A set of [attribute uses].
110     */
111    XSAttributeUseList *getAttributeUses();
112
113    /**
114     * Optional. A [wildcard].
115     */
116    XSWildcard *getAttributeWildcard() const;
117
118    /**
119     * Optional. An [annotation].
120     */
121    XSAnnotation *getAnnotation() const;
122
123    //@}
124
125    //----------------------------------
126    /** methods needed by implementation */
127
128    //@{
129
130    //@}
131private:
132
133    // -----------------------------------------------------------------------
134    //  Unimplemented constructors and operators
135    // -----------------------------------------------------------------------
136    XSAttributeGroupDefinition(const XSAttributeGroupDefinition&);
137    XSAttributeGroupDefinition & operator=(const XSAttributeGroupDefinition &);
138
139protected:
140
141    // -----------------------------------------------------------------------
142    //  data members
143    // -----------------------------------------------------------------------
144    XercesAttGroupInfo*     fXercesAttGroupInfo;
145    XSAttributeUseList*     fXSAttributeUseList;
146    XSWildcard*             fXSWildcard;
147    XSAnnotation*           fAnnotation;
148};
149
150inline XSAttributeUseList* XSAttributeGroupDefinition::getAttributeUses()
151{
152    return fXSAttributeUseList;
153}
154
155inline XSWildcard* XSAttributeGroupDefinition::getAttributeWildcard() const
156{
157    return fXSWildcard;
158}
159
160inline XSAnnotation* XSAttributeGroupDefinition::getAnnotation() const
161{
162    return fAnnotation;
163}
164
165XERCES_CPP_NAMESPACE_END
166
167#endif
Note: See TracBrowser for help on using the repository browser.