http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Build Instructions

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

API Docs for SAX and DOM
 

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  * $Id: XSConstants.hpp 191054 2005-06-17 02:56:35Z jberry $
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 // forward definitions for typedefs
00034 class XSAnnotation;
00035 class XSAttributeUse;
00036 class XSFacet;
00037 class XSMultiValueFacet;
00038 class XSNamespaceItem;
00039 class XSParticle;
00040 class XSSimpleTypeDefinition;
00041 
00042 // these typedefs are intended to help hide dependence on utility
00043 // classes, as well as to define more intuitive names for commonly
00044 // used concepts.
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     // XML Schema Components
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     // Derivation constants
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     // Scope
00151     enum SCOPE {
00158          SCOPE_ABSENT              = 0,
00162          SCOPE_GLOBAL              = 1,
00167          SCOPE_LOCAL               = 2
00168     };
00169 
00170     // Value Constraint
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     //  Unimplemented constructors and operators
00189     // -----------------------------------------------------------------------
00190     XSConstants();
00191 };
00192 
00193 XERCES_CPP_NAMESPACE_END
00194 
00195 #endif


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