| API Docs for SAX and DOM |
| Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members # XSConstants.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 2003,2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *      http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016
    00017 /*
    00018  * $Log: XSConstants.hpp,v $
    00019  * Revision 1.5  2004/09/08 13:56:08  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.4  2004/07/06 14:58:15  cargilld
    00023  * Rename VALUE_CONSTRAINT enumeration names to avoid naming conflict with AIX system header which already uses VC_DEFAULT as a macro.  Will need to document that this fix breaks source code compatibility.
    00024  *
    00025  * Revision 1.3  2004/01/29 11:46:30  cargilld
    00026  * Code cleanup changes to get rid of various compiler diagnostic messages.
    00027  *
    00028  * Revision 1.2  2003/11/06 15:30:04  neilg
    00029  * first part of PSVI/schema component model implementation, thanks to David Cargill.  This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse.
    00030  *
    00031  * Revision 1.1  2003/09/16 14:33:36  neilg
    00032  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
    00033  *
    00034  */
    00035
    00036 #if !defined(XSCONSTANTS_HPP)
    00037 #define XSCONSTANTS_HPP
    00038
    00039 #include <xercesc/util/RefVectorOf.hpp>
    00040 #include <xercesc/util/RefArrayVectorOf.hpp>
    00041
    00042 XERCES_CPP_NAMESPACE_BEGIN
    00043
    00048 // forward definitions for typedefs
    00049 class XSAnnotation;
    00050 class XSAttributeUse;
    00051 class XSFacet;
    00052 class XSMultiValueFacet;
    00053 class XSNamespaceItem;
    00054 class XSParticle;
    00055 class XSSimpleTypeDefinition;
    00056
    00057 // these typedefs are intended to help hide dependence on utility
    00058 // classes, as well as to define more intuitive names for commonly
    00059 // used concepts.
    00060
    00061 typedef RefVectorOf <XSAnnotation> XSAnnotationList;
    00062 typedef RefVectorOf <XSAttributeUse> XSAttributeUseList;
    00063 typedef RefVectorOf <XSFacet> XSFacetList;
    00064 typedef RefVectorOf <XSMultiValueFacet> XSMultiValueFacetList;
    00065 typedef RefVectorOf <XSNamespaceItem> XSNamespaceItemList;
    00066 typedef RefVectorOf <XSParticle> XSParticleList;
    00067 typedef RefVectorOf <XSSimpleTypeDefinition> XSSimpleTypeDefinitionList;
    00068 typedef RefArrayVectorOf <XMLCh> StringList;
    00069
    00070 class  XSConstants
    00071 {
    00072 public:
    00073
    00074     // XML Schema Components
    00075     enum COMPONENT_TYPE {
    00079           ATTRIBUTE_DECLARATION     = 1,
    00083           ELEMENT_DECLARATION       = 2,
    00087           TYPE_DEFINITION           = 3,
    00091           ATTRIBUTE_USE             = 4,
    00095           ATTRIBUTE_GROUP_DEFINITION= 5,
    00099           MODEL_GROUP_DEFINITION    = 6,
    00103           MODEL_GROUP               = 7,
    00107           PARTICLE                  = 8,
    00111           WILDCARD                  = 9,
    00115           IDENTITY_CONSTRAINT       = 10,
    00119           NOTATION_DECLARATION      = 11,
    00123           ANNOTATION                = 12,
    00127           FACET                     = 13,
    00128
    00132           MULTIVALUE_FACET           = 14
    00133     };
    00134
    00135     // Derivation constants
    00136     enum DERIVATION_TYPE {
    00140          DERIVATION_NONE     = 0,
    00145          DERIVATION_EXTENSION      = 1,
    00150          DERIVATION_RESTRICTION    = 2,
    00154          DERIVATION_SUBSTITUTION   = 4,
    00158          DERIVATION_UNION          = 8,
    00162          DERIVATION_LIST           = 16
    00163     };
    00164
    00165     // Scope
    00166     enum SCOPE {
    00173          SCOPE_ABSENT              = 0,
    00177          SCOPE_GLOBAL              = 1,
    00182          SCOPE_LOCAL               = 2
    00183     };
    00184
    00185     // Value Constraint
    00186     enum VALUE_CONSTRAINT {
    00190          VALUE_CONSTRAINT_NONE          = 0,
    00194          VALUE_CONSTRAINT_DEFAULT       = 1,
    00198          VALUE_CONSTRAINT_FIXED         = 2
    00199     };
    00200
    00201 private:
    00202     // -----------------------------------------------------------------------
    00203     //  Unimplemented constructors and operators
    00204     // -----------------------------------------------------------------------
    00205     XSConstants();
    00206 };
    00207
    00208 XERCES_CPP_NAMESPACE_END
    00209
    00210 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.