Xerces-C++  3.1.2
XSAttributeDeclaration.hpp
Go to the documentation of this file.
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: XSAttributeDeclaration.hpp 527149 2007-04-10 14:56:39Z amassari $
20  */
21 
22 #if !defined(XERCESC_INCLUDE_GUARD_XSATTRIBUTEDECLARATION_HPP)
23 #define XERCESC_INCLUDE_GUARD_XSATTRIBUTEDECLARATION_HPP
24 
26 
28 
36 // forward declarations
37 class XSAnnotation;
40 class SchemaAttDef;
41 
43 {
44 public:
45 
46  // Constructors and Destructor
47  // -----------------------------------------------------------------------
50 
63  (
64  SchemaAttDef* const attDef
65  , XSSimpleTypeDefinition* const typeDef
66  , XSAnnotation* const annot
67  , XSModel* const xsModel
68  , XSConstants::SCOPE scope
69  , XSComplexTypeDefinition* enclosingCTDefinition
71  );
72 
74 
79 
80  //---------------------
84 
89  const XMLCh* getName() const;
90 
95  const XMLCh* getNamespace();
96 
103 
105 
109 
113  XSSimpleTypeDefinition *getTypeDefinition() const;
114 
120  XSConstants::SCOPE getScope() const;
121 
126  XSComplexTypeDefinition *getEnclosingCTDefinition();
127 
131  XSConstants::VALUE_CONSTRAINT getConstraintType() const;
132 
137  const XMLCh *getConstraintValue();
138 
142  XSAnnotation *getAnnotation() const;
143 
145 
146  //----------------------------------
150 
151  bool getRequired() const;
153 
154 private:
155 
156  void setEnclosingCTDefinition(XSComplexTypeDefinition* const toSet);
157  friend class XSObjectFactory;
158 
159  // -----------------------------------------------------------------------
160  // Unimplemented constructors and operators
161  // -----------------------------------------------------------------------
163  XSAttributeDeclaration & operator=(const XSAttributeDeclaration &);
164 
165 protected:
166 
167  // -----------------------------------------------------------------------
168  // data members
169  // -----------------------------------------------------------------------
170  SchemaAttDef* fAttDef;
175 };
176 
177 // ---------------------------------------------------------------------------
178 // XSAttributeDeclaration: inline methods
179 // ---------------------------------------------------------------------------
181 {
182  return fTypeDefinition;
183 }
184 
186 {
187  return fAnnotation;
188 }
189 
191 {
192  return fScope;
193 }
194 
196 {
197  return fEnclosingCTDefinition;
198 }
199 
200 inline void XSAttributeDeclaration::setEnclosingCTDefinition
201 (
202  XSComplexTypeDefinition* const toSet
203 )
204 {
205  fEnclosingCTDefinition = toSet;
206 }
207 
209 
210 #endif
XSSimpleTypeDefinition * fTypeDefinition
Definition: XSAttributeDeclaration.hpp:171
Definition: XSComplexTypeDefinition.hpp:45
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition: PlatformUtils.hpp:121
SchemaAttDef * fAttDef
Definition: XSAttributeDeclaration.hpp:170
XSSimpleTypeDefinition * getTypeDefinition() const
[type definition]: A simple type definition
Definition: XSAttributeDeclaration.hpp:180
XSComplexTypeDefinition * fEnclosingCTDefinition
Definition: XSAttributeDeclaration.hpp:174
virtual XSNamespaceItem * getNamespaceItem()
A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
virtual const XMLCh * getName() const
The name of type NCName of this declaration as defined in XML Namespaces.
XSAnnotation * getAnnotation() const
Optional.
Definition: XSAttributeDeclaration.hpp:185
Definition: XSNamespaceItem.hpp:53
XSConstants::SCOPE fScope
Definition: XSAttributeDeclaration.hpp:173
XSConstants::SCOPE getScope() const
Optional.
Definition: XSAttributeDeclaration.hpp:190
#define XMLPARSER_EXPORT
Definition: XercesDefs.hpp:163
virtual const XMLCh * getNamespace()
The [target namespace] of this object, or null if it is unspecified.
Definition: XSModel.hpp:59
Definition: XSAnnotation.hpp:41
Configurable memory manager.
Definition: MemoryManager.hpp:39
Definition: XSSimpleTypeDefinition.hpp:43
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
wchar_t XMLCh
Definition: Xerces_autoconf_config.borland.hpp:92
XSAnnotation * fAnnotation
Definition: XSAttributeDeclaration.hpp:172
SCOPE
Definition: XSConstants.hpp:152
Definition: XSObject.hpp:42
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
VALUE_CONSTRAINT
Definition: XSConstants.hpp:172
XSComplexTypeDefinition * getEnclosingCTDefinition()
The complex type definition for locally scoped declarations (see scope).
Definition: XSAttributeDeclaration.hpp:195
Definition: XSAttributeDeclaration.hpp:42