Xerces-C++ 3.3.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$
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
XSMultiValueFacetList
RefVectorOf< XSMultiValueFacet > XSMultiValueFacetList
Definition XSConstants.hpp:50
XSNamespaceItemList
RefVectorOf< XSNamespaceItem > XSNamespaceItemList
Definition XSConstants.hpp:51
XSParticleList
RefVectorOf< XSParticle > XSParticleList
Definition XSConstants.hpp:52
XSSimpleTypeDefinitionList
RefVectorOf< XSSimpleTypeDefinition > XSSimpleTypeDefinitionList
Definition XSConstants.hpp:53
XSAnnotationList
RefVectorOf< XSAnnotation > XSAnnotationList
Definition XSConstants.hpp:47
StringList
RefArrayVectorOf< XMLCh > StringList
Definition XSConstants.hpp:54
XSAttributeUseList
RefVectorOf< XSAttributeUse > XSAttributeUseList
Definition XSConstants.hpp:48
XSFacetList
RefVectorOf< XSFacet > XSFacetList
Definition XSConstants.hpp:49
XMLPARSER_EXPORT
#define XMLPARSER_EXPORT
Definition XercesDefs.hpp:163
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
XSAnnotation
Definition XSAnnotation.hpp:42
XSAttributeUse
Definition XSAttributeUse.hpp:40
XSConstants
Definition XSConstants.hpp:57
XSConstants::DERIVATION_TYPE
DERIVATION_TYPE
Definition XSConstants.hpp:122
XSConstants::COMPONENT_TYPE
COMPONENT_TYPE
Definition XSConstants.hpp:61
XSConstants::VALUE_CONSTRAINT
VALUE_CONSTRAINT
Definition XSConstants.hpp:172
XSConstants::SCOPE
SCOPE
Definition XSConstants.hpp:152
XSFacet
Definition XSFacet.hpp:41
XSMultiValueFacet
Definition XSMultiValueFacet.hpp:41
XSNamespaceItem
Definition XSNamespaceItem.hpp:54
XSParticle
Definition XSParticle.hpp:42
XSSimpleTypeDefinition
Definition XSSimpleTypeDefinition.hpp:44