Xerces-C++ 3.3.0
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$
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_XSATTRIBUTEDECLARATION_HPP)
23#define XERCESC_INCLUDE_GUARD_XSATTRIBUTEDECLARATION_HPP
24
26
28
36// forward declarations
37class XSAnnotation;
40class SchemaAttDef;
41
43{
44public:
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() const;
96
103
105
109
113 XSSimpleTypeDefinition *getTypeDefinition() const;
114
120 XSConstants::SCOPE getScope() const;
121
126 XSComplexTypeDefinition *getEnclosingCTDefinition();
127
132
138
142 XSAnnotation *getAnnotation() const;
143
145
146 //----------------------------------
150
151 bool getRequired() const;
153
154private:
155
156 void setEnclosingCTDefinition(XSComplexTypeDefinition* const toSet);
157 friend class XSObjectFactory;
158
159 // -----------------------------------------------------------------------
160 // Unimplemented constructors and operators
161 // -----------------------------------------------------------------------
164
165protected:
166
167 // -----------------------------------------------------------------------
168 // data members
169 // -----------------------------------------------------------------------
170 SchemaAttDef* fAttDef;
175};
176
177// ---------------------------------------------------------------------------
178// XSAttributeDeclaration: inline methods
179// ---------------------------------------------------------------------------
184
189
191{
192 return fScope;
193}
194
199
200inline void XSAttributeDeclaration::setEnclosingCTDefinition
201(
202 XSComplexTypeDefinition* const toSet
203)
204{
206}
207
209
210#endif
#define XMLPARSER_EXPORT
Definition XercesDefs.hpp:163
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
Configurable memory manager.
Definition MemoryManager.hpp:40
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition PlatformUtils.hpp:121
Definition XSAnnotation.hpp:42
Definition XSAttributeDeclaration.hpp:43
XSConstants::SCOPE fScope
Definition XSAttributeDeclaration.hpp:173
XSSimpleTypeDefinition * fTypeDefinition
Definition XSAttributeDeclaration.hpp:171
XSConstants::SCOPE getScope() const
Optional.
Definition XSAttributeDeclaration.hpp:190
XSAnnotation * getAnnotation() const
Optional.
Definition XSAttributeDeclaration.hpp:185
XSNamespaceItem * getNamespaceItem()
A namespace schema information item corresponding to the target namespace of the component,...
const XMLCh * getConstraintValue()
Value constraint: The actual value with respect to the [type definition ].
XSAnnotation * fAnnotation
Definition XSAttributeDeclaration.hpp:172
const XMLCh * getName() const
The name of type NCName of this declaration as defined in XML Namespaces.
XSAttributeDeclaration(SchemaAttDef *const attDef, XSSimpleTypeDefinition *const typeDef, XSAnnotation *const annot, XSModel *const xsModel, XSConstants::SCOPE scope, XSComplexTypeDefinition *enclosingCTDefinition, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
The default constructor.
const XMLCh * getNamespace() const
The [target namespace] of this object, or null if it is unspecified.
XSConstants::VALUE_CONSTRAINT getConstraintType() const
Value constraint: one of VC_NONE, VC_DEFAULT, VC_FIXED.
XSComplexTypeDefinition * fEnclosingCTDefinition
Definition XSAttributeDeclaration.hpp:174
SchemaAttDef * fAttDef
Definition XSAttributeDeclaration.hpp:170
XSComplexTypeDefinition * getEnclosingCTDefinition()
The complex type definition for locally scoped declarations (see scope).
Definition XSAttributeDeclaration.hpp:195
bool getRequired() const
methods needed by implementation
XSSimpleTypeDefinition * getTypeDefinition() const
[type definition]: A simple type definition
Definition XSAttributeDeclaration.hpp:180
Definition XSComplexTypeDefinition.hpp:46
VALUE_CONSTRAINT
Definition XSConstants.hpp:172
SCOPE
Definition XSConstants.hpp:152
Definition XSModel.hpp:60
Definition XSNamespaceItem.hpp:54
Definition XSObject.hpp:43
Definition XSSimpleTypeDefinition.hpp:44