Xerces-C++ 3.2.0

XSConstants.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: XSConstants.hpp 527149 2007-04-10 14:56:39Z amassari $
20 */
21
22 #if !defined(XERCESC_INCLUDE_GUARD_XSCONSTANTS_HPP)
23 #define XERCESC_INCLUDE_GUARD_XSCONSTANTS_HPP
24
25 #include <xercesc/util/RefVectorOf.hpp>
26 #include <xercesc/util/RefArrayVectorOf.hpp>
27
28 XERCES_CPP_NAMESPACE_BEGIN
29
34 // forward definitions for typedefs
35 class XSAnnotation;
36 class XSAttributeUse;
37 class XSFacet;
38 class XSMultiValueFacet;
39 class XSNamespaceItem;
40 class XSParticle;
41 class XSSimpleTypeDefinition;
42
43 // these typedefs are intended to help hide dependence on utility
44 // classes, as well as to define more intuitive names for commonly
45 // used concepts.
46
47 typedef RefVectorOf <XSAnnotation> XSAnnotationList;
48 typedef RefVectorOf <XSAttributeUse> XSAttributeUseList;
49 typedef RefVectorOf <XSFacet> XSFacetList;
50 typedef RefVectorOf <XSMultiValueFacet> XSMultiValueFacetList;
51 typedef RefVectorOf <XSNamespaceItem> XSNamespaceItemList;
52 typedef RefVectorOf <XSParticle> XSParticleList;
53 typedef RefVectorOf <XSSimpleTypeDefinition> XSSimpleTypeDefinitionList;
54 typedef RefArrayVectorOf <XMLCh> StringList;
55
56 class XMLPARSER_EXPORT XSConstants
57 {
58 public:
59
60 // XML Schema Components
61 enum COMPONENT_TYPE {
65 ATTRIBUTE_DECLARATION = 1,
69 ELEMENT_DECLARATION = 2,
73 TYPE_DEFINITION = 3,
77 ATTRIBUTE_USE = 4,
81 ATTRIBUTE_GROUP_DEFINITION= 5,
85 MODEL_GROUP_DEFINITION = 6,
89 MODEL_GROUP = 7,
93 PARTICLE = 8,
97 WILDCARD = 9,
101 IDENTITY_CONSTRAINT = 10,
105 NOTATION_DECLARATION = 11,
109 ANNOTATION = 12,
113 FACET = 13,
114
118 MULTIVALUE_FACET = 14
119 };
120
121 // Derivation constants
122 enum DERIVATION_TYPE {
126 DERIVATION_NONE = 0,
131 DERIVATION_EXTENSION = 1,
136 DERIVATION_RESTRICTION = 2,
140 DERIVATION_SUBSTITUTION = 4,
144 DERIVATION_UNION = 8,
148 DERIVATION_LIST = 16
149 };
150
151 // Scope
152 enum SCOPE {
159 SCOPE_ABSENT = 0,
163 SCOPE_GLOBAL = 1,
168 SCOPE_LOCAL = 2
169 };
170
171 // Value Constraint
172 enum VALUE_CONSTRAINT {
176 VALUE_CONSTRAINT_NONE = 0,
180 VALUE_CONSTRAINT_DEFAULT = 1,
184 VALUE_CONSTRAINT_FIXED = 2
185 };
186
187 private:
188 // -----------------------------------------------------------------------
189 // Unimplemented constructors and operators
190 // -----------------------------------------------------------------------
191 XSConstants();
192 };
193
194 XERCES_CPP_NAMESPACE_END
195
196 #endif
XSMultiValueFacet
Definition: XSMultiValueFacet.hpp:40
XSAttributeUse
Definition: XSAttributeUse.hpp:39
XSConstants::DERIVATION_TYPE
DERIVATION_TYPE
Definition: XSConstants.hpp:122
XSMultiValueFacetList
RefVectorOf< XSMultiValueFacet > XSMultiValueFacetList
Definition: XSConstants.hpp:50
XSNamespaceItem
Definition: XSNamespaceItem.hpp:53
XSParticleList
RefVectorOf< XSParticle > XSParticleList
Definition: XSConstants.hpp:52
XMLPARSER_EXPORT
#define XMLPARSER_EXPORT
Definition: XercesDefs.hpp:163
XSAttributeUseList
RefVectorOf< XSAttributeUse > XSAttributeUseList
Definition: XSConstants.hpp:48
XSAnnotation
Definition: XSAnnotation.hpp:41
XSFacet
Definition: XSFacet.hpp:40
XSSimpleTypeDefinition
Definition: XSSimpleTypeDefinition.hpp:43
XSNamespaceItemList
RefVectorOf< XSNamespaceItem > XSNamespaceItemList
Definition: XSConstants.hpp:51
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
StringList
RefArrayVectorOf< XMLCh > StringList
Definition: XSConstants.hpp:54
XSConstants::SCOPE
SCOPE
Definition: XSConstants.hpp:152
XSConstants
Definition: XSConstants.hpp:56
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
XSConstants::COMPONENT_TYPE
COMPONENT_TYPE
Definition: XSConstants.hpp:61
XSAnnotationList
RefVectorOf< XSAnnotation > XSAnnotationList
Definition: XSConstants.hpp:41
XSConstants::VALUE_CONSTRAINT
VALUE_CONSTRAINT
Definition: XSConstants.hpp:172
XSSimpleTypeDefinitionList
RefVectorOf< XSSimpleTypeDefinition > XSSimpleTypeDefinitionList
Definition: XSConstants.hpp:53
XSFacetList
RefVectorOf< XSFacet > XSFacetList
Definition: XSConstants.hpp:49
XSParticle
Definition: XSParticle.hpp:41