Xerces-C++: XMLSchemaDescription.hpp Source File

| API Docs for SAX and DOM |
| Main Page Classes Files Related Pages # XMLSchemaDescription.hpp Go to the documentation of this file.
    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: XMLSchemaDescription.hpp 568078 2007-08-21 11:43:25Z amassari $
    00020  *
    00021  */
    00022
    00023 #if !defined(XMLSCHEMADESCRIPTION_HPP)
    00024 #define XMLSCHEMADESCRIPTION_HPP
    00025
    00026 #include <xercesc/framework/XMLGrammarDescription.hpp>
    00027 #include <xercesc/util/RefArrayVectorOf.hpp>
    00028
    00029 XERCES_CPP_NAMESPACE_BEGIN
    00030
    00031 typedef const XMLCh* const LocationHint;
    00032
    00033 class  XMLSchemaDescription : public XMLGrammarDescription
    00034 {
    00035 public :
    00036     // -----------------------------------------------------------------------
    00038     // -----------------------------------------------------------------------
    00040
    00044     virtual ~XMLSchemaDescription();
    00046
    00047     // -----------------------------------------------------------------------
    00049     // -----------------------------------------------------------------------
    00051
    00055     virtual Grammar::GrammarType   getGrammarType() const
    00056     {
    00057         return Grammar::SchemaGrammarType;
    00058     }
    00060
    00061     // -----------------------------------------------------------------------
    00063     // -----------------------------------------------------------------------
    00065
    00066     enum ContextType
    00067          {
    00068             CONTEXT_INCLUDE,
    00069             CONTEXT_REDEFINE,
    00070             CONTEXT_IMPORT,
    00071             CONTEXT_PREPARSE,
    00072             CONTEXT_INSTANCE,
    00073             CONTEXT_ELEMENT,
    00074             CONTEXT_ATTRIBUTE,
    00075             CONTEXT_XSITYPE,
    00076             CONTEXT_UNKNOWN
    00077          };
    00078
    00083     virtual ContextType                getContextType() const = 0;
    00084
    00089     virtual const XMLCh*               getTargetNamespace() const = 0;
    00090
    00095     virtual RefArrayVectorOf<XMLCh>*   getLocationHints() const = 0;
    00096
    00101     virtual const QName*               getTriggeringComponent() const = 0;
    00102
    00107     virtual const QName*               getEnclosingElementName() const = 0;
    00108
    00113     virtual const XMLAttDef*           getAttributes() const = 0;
    00114
    00119     virtual void                       setContextType(ContextType) = 0;
    00120
    00125     virtual void                       setTargetNamespace(const XMLCh* const) = 0;
    00126
    00131     virtual void                       setLocationHints(const XMLCh* const) = 0;
    00132
    00137     virtual void                       setTriggeringComponent(QName* const) = 0;
    00138
    00143     virtual void                       setEnclosingElementName(QName* const) = 0;
    00144
    00149     virtual void                       setAttributes(XMLAttDef* const) = 0;
    00151
    00152     /***
    00153      * Support for Serialization/De-serialization
    00154      ***/
    00155     DECL_XSERIALIZABLE(XMLSchemaDescription)
    00156
    00157 protected :
    00158     // -----------------------------------------------------------------------
    00160     // -----------------------------------------------------------------------
    00162     XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
    00164
    00165 private :
    00166     // -----------------------------------------------------------------------
    00168     // -----------------------------------------------------------------------
    00170     XMLSchemaDescription(const XMLSchemaDescription& );
    00171     XMLSchemaDescription& operator=(const XMLSchemaDescription& );
    00173
    00174 };
    00175
    00176
    00177 XERCES_CPP_NAMESPACE_END
    00178
    00179 #endif

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