Xerces-C++: XMLSchemaDescription.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # XMLSchemaDescription.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 1999-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$
    00019  * Revision 1.4  2004/09/08 13:55:59  peiyongz
    00020  * Apache License Version 2.0
    00021  *
    00022  * Revision 1.3  2003/10/14 15:17:47  peiyongz
    00023  * Implementation of Serialization/Deserialization
    00024  *
    00025  * Revision 1.2  2003/07/31 17:03:19  peiyongz
    00026  * locationHint incrementally added
    00027  *
    00028  * Revision 1.1  2003/06/20 18:37:39  peiyongz
    00029  * Stateless Grammar Pool :: Part I
    00030  *
    00031  * $Id: XMLSchemaDescription.hpp 176026 2004-09-08 13:57:07Z peiyongz $
    00032  *
    00033  */
    00034
    00035 #if !defined(XMLSCHEMADESCRIPTION_HPP)
    00036 #define XMLSCHEMADESCRIPTION_HPP
    00037
    00038 #include <xercesc/framework/XMLGrammarDescription.hpp>
    00039 #include <xercesc/util/RefArrayVectorOf.hpp>
    00040
    00041 XERCES_CPP_NAMESPACE_BEGIN
    00042
    00043 typedef const XMLCh* const LocationHint;
    00044
    00045 class  XMLSchemaDescription : public XMLGrammarDescription
    00046 {
    00047 public :
    00048     // -----------------------------------------------------------------------
    00050     // -----------------------------------------------------------------------
    00052
    00056     virtual ~XMLSchemaDescription();
    00058
    00059     // -----------------------------------------------------------------------
    00061     // -----------------------------------------------------------------------
    00063
    00067     virtual Grammar::GrammarType   getGrammarType() const
    00068     {
    00069         return Grammar::SchemaGrammarType;
    00070     }
    00072
    00073     // -----------------------------------------------------------------------
    00075     // -----------------------------------------------------------------------
    00077
    00078     enum ContextType
    00079          {
    00080             CONTEXT_INCLUDE,
    00081             CONTEXT_REDEFINE,
    00082             CONTEXT_IMPORT,
    00083             CONTEXT_PREPARSE,
    00084             CONTEXT_INSTANCE,
    00085             CONTEXT_ELEMENT,
    00086             CONTEXT_ATTRIBUTE,
    00087             CONTEXT_XSITYPE,
    00088             CONTEXT_UNKNOWN
    00089          };
    00090
    00095     virtual ContextType                getContextType() const = 0;
    00096
    00101     virtual const XMLCh*               getTargetNamespace() const = 0;
    00102
    00107     virtual RefArrayVectorOf<XMLCh>*   getLocationHints() const = 0;
    00108
    00113     virtual const QName*               getTriggeringComponent() const = 0;
    00114
    00119     virtual const QName*               getEnclosingElementName() const = 0;
    00120
    00125     virtual const XMLAttDef*           getAttributes() const = 0;
    00126
    00131     virtual void                       setContextType(ContextType) = 0;
    00132
    00137     virtual void                       setTargetNamespace(const XMLCh* const) = 0;
    00138
    00143     virtual void                       setLocationHints(const XMLCh* const) = 0;
    00144
    00149     virtual void                       setTriggeringComponent(QName* const) = 0;
    00150
    00155     virtual void                       setEnclosingElementName(QName* const) = 0;
    00156
    00161     virtual void                       setAttributes(XMLAttDef* const) = 0;
    00163
    00164     /***
    00165      * Support for Serialization/De-serialization
    00166      ***/
    00167     DECL_XSERIALIZABLE(XMLSchemaDescription)
    00168
    00169 protected :
    00170     // -----------------------------------------------------------------------
    00172     // -----------------------------------------------------------------------
    00174     XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
    00176
    00177 private :
    00178     // -----------------------------------------------------------------------
    00180     // -----------------------------------------------------------------------
    00182     XMLSchemaDescription(const XMLSchemaDescription& );
    00183     XMLSchemaDescription& operator=(const XMLSchemaDescription& );
    00185
    00186 };
    00187
    00188
    00189 XERCES_CPP_NAMESPACE_END
    00190
    00191 #endif

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