Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:53

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTION_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTION_HPP
0024 
0025 #include <xercesc/framework/XMLGrammarDescription.hpp>
0026 #include <xercesc/util/RefArrayVectorOf.hpp>
0027 
0028 XERCES_CPP_NAMESPACE_BEGIN
0029 
0030 typedef const XMLCh* const LocationHint;
0031 
0032 class XMLPARSER_EXPORT XMLSchemaDescription : public XMLGrammarDescription
0033 {
0034 public :
0035     // -----------------------------------------------------------------------
0036     /** @name Virtual destructor for derived classes */
0037     // -----------------------------------------------------------------------
0038     //@{
0039     /**
0040       * virtual destructor
0041       *
0042       */
0043     virtual ~XMLSchemaDescription();
0044     //@}
0045 
0046     // -----------------------------------------------------------------------
0047     /** @name Implementation of Grammar Description Interface */
0048     // -----------------------------------------------------------------------
0049     //@{     
0050     /**
0051       * getGrammarType
0052       *
0053       */
0054     virtual Grammar::GrammarType   getGrammarType() const
0055     {
0056         return Grammar::SchemaGrammarType;
0057     }
0058     //@}
0059 
0060     // -----------------------------------------------------------------------
0061     /** @name The SchemaDescription Interface */
0062     // -----------------------------------------------------------------------
0063     //@{
0064 
0065     enum ContextType 
0066          {
0067             CONTEXT_INCLUDE,
0068             CONTEXT_REDEFINE,
0069             CONTEXT_IMPORT,
0070             CONTEXT_PREPARSE,
0071             CONTEXT_INSTANCE,
0072             CONTEXT_ELEMENT,
0073             CONTEXT_ATTRIBUTE,
0074             CONTEXT_XSITYPE,
0075             CONTEXT_UNKNOWN
0076          };
0077 
0078     /**
0079       * getContextType
0080       *
0081       */    
0082     virtual ContextType                getContextType() const = 0;
0083 
0084     /**
0085       * getTargetNamespace
0086       *
0087       */    
0088     virtual const XMLCh*               getTargetNamespace() const = 0;
0089 
0090     /**
0091       * getLocationHints
0092       *
0093       */    
0094     virtual const RefArrayVectorOf<XMLCh>*   getLocationHints() const = 0;
0095 
0096     /**
0097       * getTriggeringComponent
0098       *
0099       */    
0100     virtual const QName*               getTriggeringComponent() const = 0;
0101 
0102     /**
0103       * getenclosingElementName
0104       *
0105       */    
0106     virtual const QName*               getEnclosingElementName() const = 0;
0107 
0108     /**
0109       * getAttributes
0110       *
0111       */    
0112     virtual const XMLAttDef*           getAttributes() const = 0;
0113 
0114     /**
0115       * setContextType
0116       *
0117       */    
0118     virtual void                       setContextType(ContextType) = 0;
0119 
0120     /**
0121       * setTargetNamespace
0122       *
0123       */    
0124     virtual void                       setTargetNamespace(const XMLCh* const) = 0;
0125 
0126     /**
0127       * setLocationHints
0128       *
0129       */    
0130     virtual void                       setLocationHints(const XMLCh* const) = 0;
0131 
0132     /**
0133       * setTriggeringComponent
0134       *
0135       */    
0136     virtual void                       setTriggeringComponent(QName* const) = 0;
0137 
0138     /**
0139       * getenclosingElementName
0140       *
0141       */    
0142     virtual void                       setEnclosingElementName(QName* const) = 0;
0143 
0144     /**
0145       * setAttributes
0146       *
0147       */    
0148     virtual void                       setAttributes(XMLAttDef* const) = 0;
0149     //@}              
0150               
0151     /***
0152      * Support for Serialization/De-serialization
0153      ***/
0154     DECL_XSERIALIZABLE(XMLSchemaDescription)
0155 
0156 protected :
0157     // -----------------------------------------------------------------------
0158     /**  Hidden Constructors */
0159     // -----------------------------------------------------------------------
0160     //@{
0161     XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
0162     //@}
0163 
0164 private :
0165     // -----------------------------------------------------------------------
0166     /** name  Unimplemented copy constructor and operator= */
0167     // -----------------------------------------------------------------------
0168     //@{
0169     XMLSchemaDescription(const XMLSchemaDescription& );
0170     XMLSchemaDescription& operator=(const XMLSchemaDescription& );
0171     //@}
0172 
0173 };
0174 
0175 
0176 XERCES_CPP_NAMESPACE_END
0177 
0178 #endif