00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #if !defined(XSCONSTANTS_HPP)
00022 #define XSCONSTANTS_HPP
00023 
00024 #include <xercesc/util/RefVectorOf.hpp>
00025 #include <xercesc/util/RefArrayVectorOf.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00033 
00034 class XSAnnotation;
00035 class XSAttributeUse;
00036 class XSFacet;
00037 class XSMultiValueFacet;
00038 class XSNamespaceItem;
00039 class XSParticle;
00040 class XSSimpleTypeDefinition;
00041 
00042 
00043 
00044 
00045 
00046 typedef RefVectorOf <XSAnnotation> XSAnnotationList;
00047 typedef RefVectorOf <XSAttributeUse> XSAttributeUseList;
00048 typedef RefVectorOf <XSFacet> XSFacetList;
00049 typedef RefVectorOf <XSMultiValueFacet> XSMultiValueFacetList;
00050 typedef RefVectorOf <XSNamespaceItem> XSNamespaceItemList;
00051 typedef RefVectorOf <XSParticle> XSParticleList;
00052 typedef RefVectorOf <XSSimpleTypeDefinition> XSSimpleTypeDefinitionList;
00053 typedef RefArrayVectorOf <XMLCh> StringList;
00054 
00055 class  XSConstants 
00056 {
00057 public:
00058 
00059     
00060     enum COMPONENT_TYPE {
00064           ATTRIBUTE_DECLARATION     = 1,
00068           ELEMENT_DECLARATION       = 2,
00072           TYPE_DEFINITION           = 3,
00076           ATTRIBUTE_USE             = 4,
00080           ATTRIBUTE_GROUP_DEFINITION= 5,
00084           MODEL_GROUP_DEFINITION    = 6,
00088           MODEL_GROUP               = 7,
00092           PARTICLE                  = 8,
00096           WILDCARD                  = 9,
00100           IDENTITY_CONSTRAINT       = 10,
00104           NOTATION_DECLARATION      = 11,
00108           ANNOTATION                = 12,
00112           FACET                     = 13,
00113         
00117           MULTIVALUE_FACET           = 14
00118     };
00119 
00120     
00121     enum DERIVATION_TYPE {
00125          DERIVATION_NONE     = 0,
00130          DERIVATION_EXTENSION      = 1,
00135          DERIVATION_RESTRICTION    = 2,
00139          DERIVATION_SUBSTITUTION   = 4,
00143          DERIVATION_UNION          = 8,
00147          DERIVATION_LIST           = 16
00148     };
00149 
00150     
00151     enum SCOPE {
00158          SCOPE_ABSENT              = 0,
00162          SCOPE_GLOBAL              = 1,
00167          SCOPE_LOCAL               = 2
00168     };
00169 
00170     
00171     enum VALUE_CONSTRAINT {
00175          VALUE_CONSTRAINT_NONE          = 0,
00179          VALUE_CONSTRAINT_DEFAULT       = 1,
00183          VALUE_CONSTRAINT_FIXED         = 2
00184     };
00185 
00186 private:
00187     
00188     
00189     
00190     XSConstants();
00191 };
00192 
00193 XERCES_CPP_NAMESPACE_END
00194 
00195 #endif