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 568078 2007-08-21 11:43:25Z amassari $
00020  */
00021 
00022 #if !defined(XSCONSTANTS_HPP)
00023 #define 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

Generated on Thu Feb 19 11:35:44 2009 for Xerces-C++ by  doxygen 1.5.4