Xerces-C++ 3.1.3

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

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