- Main Page
- Related Pages
- Classes
- Files

# XSConstants.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: XSConstants.hpp 527149 2007-04-10 14:56:39Z amassari $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XSCONSTANTS_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XSCONSTANTS_HPP
    00024
    00025 #include <xercesc/util/RefVectorOf.hpp>
    00026 #include <xercesc/util/RefArrayVectorOf.hpp>
    00027
    00028 XERCES_CPP_NAMESPACE_BEGIN
    00029
    00034 // forward definitions for typedefs
    00035 class XSAnnotation;
    00036 class XSAttributeUse;
    00037 class XSFacet;
    00038 class XSMultiValueFacet;
    00039 class XSNamespaceItem;
    00040 class XSParticle;
    00041 class XSSimpleTypeDefinition;
    00042
    00043 // these typedefs are intended to help hide dependence on utility
    00044 // classes, as well as to define more intuitive names for commonly
    00045 // used concepts.
    00046
    00047 typedef RefVectorOf <XSAnnotation> XSAnnotationList;
    00048 typedef RefVectorOf <XSAttributeUse> XSAttributeUseList;
    00049 typedef RefVectorOf <XSFacet> XSFacetList;
    00050 typedef RefVectorOf <XSMultiValueFacet> XSMultiValueFacetList;
    00051 typedef RefVectorOf <XSNamespaceItem> XSNamespaceItemList;
    00052 typedef RefVectorOf <XSParticle> XSParticleList;
    00053 typedef RefVectorOf <XSSimpleTypeDefinition> XSSimpleTypeDefinitionList;
    00054 typedef RefArrayVectorOf <XMLCh> StringList;
    00055
    00056 class XMLPARSER_EXPORT XSConstants
    00057 {
    00058 public:
    00059
    00060     // XML Schema Components
    00061     enum COMPONENT_TYPE {
    00065           ATTRIBUTE_DECLARATION     = 1,
    00069           ELEMENT_DECLARATION       = 2,
    00073           TYPE_DEFINITION           = 3,
    00077           ATTRIBUTE_USE             = 4,
    00081           ATTRIBUTE_GROUP_DEFINITION= 5,
    00085           MODEL_GROUP_DEFINITION    = 6,
    00089           MODEL_GROUP               = 7,
    00093           PARTICLE                  = 8,
    00097           WILDCARD                  = 9,
    00101           IDENTITY_CONSTRAINT       = 10,
    00105           NOTATION_DECLARATION      = 11,
    00109           ANNOTATION                = 12,
    00113           FACET                     = 13,
    00114
    00118           MULTIVALUE_FACET           = 14
    00119     };
    00120
    00121     // Derivation constants
    00122     enum DERIVATION_TYPE {
    00126          DERIVATION_NONE     = 0,
    00131          DERIVATION_EXTENSION      = 1,
    00136          DERIVATION_RESTRICTION    = 2,
    00140          DERIVATION_SUBSTITUTION   = 4,
    00144          DERIVATION_UNION          = 8,
    00148          DERIVATION_LIST           = 16
    00149     };
    00150
    00151     // Scope
    00152     enum SCOPE {
    00159          SCOPE_ABSENT              = 0,
    00163          SCOPE_GLOBAL              = 1,
    00168          SCOPE_LOCAL               = 2
    00169     };
    00170
    00171     // Value Constraint
    00172     enum VALUE_CONSTRAINT {
    00176          VALUE_CONSTRAINT_NONE          = 0,
    00180          VALUE_CONSTRAINT_DEFAULT       = 1,
    00184          VALUE_CONSTRAINT_FIXED         = 2
    00185     };
    00186
    00187 private:
    00188     // -----------------------------------------------------------------------
    00189     //  Unimplemented constructors and operators
    00190     // -----------------------------------------------------------------------
    00191     XSConstants();
    00192 };
    00193
    00194 XERCES_CPP_NAMESPACE_END
    00195
    00196 #endif