Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:20

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_XMLSCHEMADESCRIPTIONIMPL_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTIONIMPL_HPP
0024 
0025 #include <xercesc/framework/XMLSchemaDescription.hpp>
0026 #include <xercesc/util/RefVectorOf.hpp>
0027 
0028 XERCES_CPP_NAMESPACE_BEGIN
0029 
0030 class XMLAttDefs;
0031 
0032 class XMLPARSER_EXPORT XMLSchemaDescriptionImpl : public XMLSchemaDescription
0033 {
0034 public :
0035     // -----------------------------------------------------------------------
0036     /** @name constructor and destructor */
0037     // -----------------------------------------------------------------------
0038     //@{
0039     XMLSchemaDescriptionImpl(
0040                              const XMLCh* const   targetNamespace 
0041                            , MemoryManager* const memMgr
0042                              );
0043 
0044     ~XMLSchemaDescriptionImpl();
0045     //@}
0046 
0047     // -----------------------------------------------------------------------
0048     /** @name Implementation of GrammarDescription Interface */
0049     // -----------------------------------------------------------------------
0050     //@{
0051     /**
0052       * getGrammarKey
0053       *
0054       */
0055     virtual const XMLCh*           getGrammarKey() const;
0056     //@}
0057 
0058     // -----------------------------------------------------------------------
0059     /** @name Implementation of SchemaDescription Interface */
0060     // -----------------------------------------------------------------------
0061     //@{
0062 
0063     /**
0064       * getContextType
0065       *
0066       */    
0067     virtual ContextType            getContextType() const;
0068 
0069     /**
0070       * getTargetNamespace
0071       *
0072       */    
0073     virtual const XMLCh*           getTargetNamespace() const;
0074 
0075     /**
0076       * getLocationHints
0077       *
0078       */    
0079     virtual const RefArrayVectorOf<XMLCh>*   getLocationHints() const;
0080 
0081     /**
0082       * getTriggeringComponent
0083       *
0084       */    
0085     virtual const QName*           getTriggeringComponent() const;
0086 
0087     /**
0088       * getenclosingElementName
0089       *
0090       */    
0091     virtual const QName*           getEnclosingElementName() const;
0092 
0093     /**
0094       * getAttributes
0095       *
0096       */    
0097     virtual const XMLAttDef*       getAttributes() const;
0098 
0099     /**
0100       * setContextType
0101       *
0102       */    
0103     virtual void                   setContextType(ContextType);
0104 
0105     /**
0106       * setTargetNamespace
0107       *
0108       */    
0109     virtual void                   setTargetNamespace(const XMLCh* const);
0110 
0111     /**
0112       * setLocationHints
0113       *
0114       */    
0115     virtual void                   setLocationHints(const XMLCh* const);
0116 
0117     /**
0118       * setTriggeringComponent
0119       *
0120       */    
0121     virtual void                   setTriggeringComponent(QName* const);
0122 
0123     /**
0124       * getenclosingElementName
0125       *
0126       */    
0127     virtual void                   setEnclosingElementName(QName* const);
0128 
0129     /**
0130       * setAttributes
0131       *
0132       */    
0133     virtual void                   setAttributes(XMLAttDef* const);          
0134     //@}
0135 
0136     /***
0137      * Support for Serialization/De-serialization
0138      ***/
0139     DECL_XSERIALIZABLE(XMLSchemaDescriptionImpl)
0140 
0141     XMLSchemaDescriptionImpl(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
0142 
0143 private :
0144     // -----------------------------------------------------------------------
0145     /** name  Unimplemented copy constructor and operator= */
0146     // -----------------------------------------------------------------------
0147     //@{
0148     XMLSchemaDescriptionImpl(const XMLSchemaDescriptionImpl& );
0149     XMLSchemaDescriptionImpl& operator=(const XMLSchemaDescriptionImpl& );
0150     //@}
0151 
0152     // -----------------------------------------------------------------------
0153     //  Private data members
0154     //
0155     //  All data member in this implementation are owned to out survive
0156     //  parser. Except for fNamespace which is replicated upon set, the
0157     //  rest shall be created by the embedded memoryManager.
0158     //
0159     //  fContextType  
0160     //
0161     //  fNamespace            owned
0162     //
0163     //  fLocationHints        owned
0164     //
0165     //  fTriggeringComponent  owned
0166     //
0167     //  fEnclosingElementName owned
0168     //                       
0169     //  fAttributes           referenced
0170     //
0171     // -----------------------------------------------------------------------
0172 
0173     XMLSchemaDescription::ContextType      fContextType;
0174     const XMLCh*                           fNamespace;
0175     RefArrayVectorOf<XMLCh>*               fLocationHints;
0176     const QName*                           fTriggeringComponent;
0177     const QName*                           fEnclosingElementName;
0178     const XMLAttDef*                       fAttributes; 
0179 
0180 };
0181 
0182 
0183 XERCES_CPP_NAMESPACE_END
0184 
0185 #endif