Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:27:02

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 //  This file is part of the internal implementation of the C++ XML DOM.
0020 //  It should NOT be included or used directly by application programs.
0021 //
0022 //  Applications should include the file <xercesc/dom/DOM.hpp> for the entire
0023 //  DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class
0024 //  name is substituded for the *.
0025 //
0026 
0027 
0028 #if !defined(XERCESC_INCLUDE_GUARD_DOMTYPEINFOIMPL_HPP)
0029 #define XERCESC_INCLUDE_GUARD_DOMTYPEINFOIMPL_HPP
0030 
0031 //------------------------------------------------------------------------------------
0032 //  Includes
0033 //------------------------------------------------------------------------------------
0034 #include <xercesc/dom/DOMTypeInfo.hpp>
0035 #include <xercesc/dom/DOMPSVITypeInfo.hpp>
0036 
0037 XERCES_CPP_NAMESPACE_BEGIN
0038 
0039 class DOMDocumentImpl;
0040 
0041 class CDOM_EXPORT DOMTypeInfoImpl : public DOMTypeInfo, public DOMPSVITypeInfo
0042 {
0043 public:
0044 
0045     //-----------------------------------------------------------------------------------
0046     //  Constructor
0047     //-----------------------------------------------------------------------------------
0048     DOMTypeInfoImpl(const XMLCh* namespaceUri=0, const XMLCh* name=0);
0049     DOMTypeInfoImpl(DOMDocumentImpl* ownerDoc, const DOMPSVITypeInfo* sourcePSVI);
0050 
0051     static DOMTypeInfoImpl  g_DtdValidatedElement;
0052     static DOMTypeInfoImpl  g_DtdNotValidatedAttribute;
0053     static DOMTypeInfoImpl  g_DtdValidatedCDATAAttribute;
0054     static DOMTypeInfoImpl  g_DtdValidatedIDAttribute;
0055     static DOMTypeInfoImpl  g_DtdValidatedIDREFAttribute;
0056     static DOMTypeInfoImpl  g_DtdValidatedIDREFSAttribute;
0057     static DOMTypeInfoImpl  g_DtdValidatedENTITYAttribute;
0058     static DOMTypeInfoImpl  g_DtdValidatedENTITIESAttribute;
0059     static DOMTypeInfoImpl  g_DtdValidatedNMTOKENAttribute;
0060     static DOMTypeInfoImpl  g_DtdValidatedNMTOKENSAttribute;
0061     static DOMTypeInfoImpl  g_DtdValidatedNOTATIONAttribute;
0062     static DOMTypeInfoImpl  g_DtdValidatedENUMERATIONAttribute;
0063 
0064     // -----------------------------------------------------------------------
0065     //  DOMTypeInfo interface
0066     // -----------------------------------------------------------------------
0067     virtual const XMLCh* getTypeName() const;
0068     virtual const XMLCh* getTypeNamespace() const;
0069     virtual bool isDerivedFrom(const XMLCh* typeNamespaceArg, const XMLCh* typeNameArg, DerivationMethods derivationMethod) const;
0070 
0071     // -----------------------------------------------------------------------
0072     //  DOMPSVITypeInfo interface
0073     // -----------------------------------------------------------------------
0074     virtual const XMLCh* getStringProperty(PSVIProperty prop) const;
0075     virtual int getNumericProperty(PSVIProperty prop) const;
0076 
0077     // -----------------------------------------------------------------------
0078     //  Setter methods
0079     // -----------------------------------------------------------------------
0080     virtual void setStringProperty(PSVIProperty prop, const XMLCh* value);
0081     virtual void setNumericProperty(PSVIProperty prop, int value);
0082 
0083 protected:
0084     int             fBitFields;
0085     const XMLCh*    fTypeName;
0086     const XMLCh*    fTypeNamespace;
0087     const XMLCh*    fMemberTypeName;
0088     const XMLCh*    fMemberTypeNamespace;
0089     const XMLCh*    fDefaultValue;
0090     const XMLCh*    fNormalizedValue;
0091 
0092 private:
0093     // -----------------------------------------------------------------------
0094     // Unimplemented constructors and operators
0095     // -----------------------------------------------------------------------
0096     DOMTypeInfoImpl (const DOMTypeInfoImpl&);
0097     DOMTypeInfoImpl & operator = (const DOMTypeInfoImpl &);
0098 };
0099 
0100 XERCES_CPP_NAMESPACE_END
0101 
0102 #endif
0103 
0104 /**
0105  * End of file DOMTypeInfo.hpp
0106  */