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
 

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.