Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XercesDOM_NodeHack.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 #if !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)
00018 #define XERCESDOM_NODEHACK_HEADER_GUARD_1357924680
00019 
00020 
00021 
00022 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
00023 
00024 
00025 
00026 #if XERCES_VERSION_MAJOR >= 2
00027 #include <xercesc/dom/deprecated/DOM_Node.hpp>
00028 #include <xercesc/dom/deprecated/DOM_Attr.hpp>
00029 #include <xercesc/dom/deprecated/DOM_Element.hpp>
00030 #include <xercesc/dom/deprecated/DOM_Text.hpp>
00031 #else
00032 #include <xercesc/dom/DOM_Node.hpp>
00033 #include <xercesc/dom/DOM_Attr.hpp>
00034 #include <xercesc/dom/DOM_Element.hpp>
00035 #include <xercesc/dom/DOM_Text.hpp>
00036 #endif
00037 
00038 
00039 
00040 #include <xalanc/XercesParserLiaison/Deprecated/XercesBridgeTypes.hpp>
00041 
00042 
00043 
00044 XALAN_CPP_NAMESPACE_BEGIN
00045 
00046 
00055 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_NodeHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node
00056 {
00057 public:
00058 
00059     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node     ParentType;
00060 
00061     XercesDOM_NodeHack(NodeImplType*    theImpl = 0);
00062 
00063     ~XercesDOM_NodeHack();
00064 
00065     NodeImplType*
00066     getImpl() const
00067     {
00068         return fImpl;
00069     }
00070 
00071     static NodeImplType*
00072     getImpl(const ParentType&       theNode)
00073     {
00074 #if defined(XALAN_OLD_STYLE_CASTS)
00075         return ((const XercesDOM_NodeHack&)theNode).getImpl();
00076 #else
00077         return static_cast<const XercesDOM_NodeHack&>(theNode).getImpl();
00078 #endif
00079     }
00080 };
00081 
00082 
00083 
00084 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_AttrHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr
00085 {
00086 public:
00087 
00088     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr     ParentType;
00089 
00090     XercesDOM_AttrHack(AttrImplType*    theImpl = 0);
00091 
00092     XercesDOM_AttrHack(const ParentType&    theSource);
00093 
00094     ~XercesDOM_AttrHack();
00095 };
00096 
00097 
00098 
00099 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_ElementHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element
00100 {
00101 public:
00102 
00103     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element  ParentType;
00104 
00105     XercesDOM_ElementHack(ElementImplType*  theImpl = 0);
00106 
00107     XercesDOM_ElementHack(const ParentType&     theSource);
00108 
00109     ~XercesDOM_ElementHack();
00110 
00111 
00112     const DOMStringType
00113     getNodeNameImpl() const;
00114 
00115     const DOMStringType
00116     getNodeValueImpl() const;
00117 
00118     const DOMStringType
00119     getNamespaceURIImpl() const;
00120 
00121     const DOMStringType
00122     getPrefixImpl() const;
00123 
00124     const DOMStringType
00125     getLocalNameImpl() const;
00126 
00127     const DOMStringType
00128     getTagNameImpl() const;
00129 
00130     const DOMStringType
00131     getAttributeImpl(const DOMStringType&   name) const;
00132 
00133     const DOMStringType
00134     getAttributeNSImpl(
00135             const DOMStringType&    namespaceURI,
00136             const DOMStringType&    localName) const;
00137 
00138     ElementImplType*
00139     getImpl() const
00140     {
00141 #if defined(XALAN_OLD_STYLE_CASTS)
00142         return (ElementImplType*)fImpl;
00143 #else
00144         return reinterpret_cast<ElementImplType*>(fImpl);
00145 #endif
00146     }
00147 
00148     static ElementImplType*
00149     getImpl(const ParentType&   theNode)
00150     {
00151 #if defined(XALAN_OLD_STYLE_CASTS)
00152         return ((const XercesDOM_ElementHack&)theNode).getImpl();
00153 #else
00154         return static_cast<const XercesDOM_ElementHack&>(theNode).getImpl();
00155 #endif
00156     }
00157 };
00158 
00159 
00160 
00161 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_TextHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text
00162 {
00163 public:
00164 
00165     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text     ParentType;
00166 
00167     XercesDOM_TextHack(TextImplType*    theImpl = 0);
00168 
00169     XercesDOM_TextHack(const ParentType&    theSource);
00170 
00171     ~XercesDOM_TextHack();
00172 
00173 
00174     const DOMStringType
00175     getNodeNameImpl() const;
00176 
00177     const DOMStringType
00178     getNodeValueImpl() const;
00179 
00180     const DOMStringType
00181     getNamespaceURIImpl() const;
00182 
00183     const DOMStringType
00184     getPrefixImpl() const;
00185 
00186     const DOMStringType
00187     getLocalNameImpl() const;
00188 
00189     const DOMStringType
00190     getDataImpl() const;
00191 
00192     TextImplType*
00193     getImpl() const
00194     {
00195 #if defined(XALAN_OLD_STYLE_CASTS)
00196         return (TextImplType*)fImpl;
00197 #else
00198         return reinterpret_cast<TextImplType*>(fImpl);
00199 #endif
00200     }
00201 
00202     static TextImplType*
00203     getImpl(const ParentType&   theNode)
00204     {
00205 #if defined(XALAN_OLD_STYLE_CASTS)
00206         return ((const XercesDOM_TextHack&)theNode).getImpl();
00207 #else
00208         return static_cast<const XercesDOM_TextHack&>(theNode).getImpl();
00209 #endif
00210     }
00211 };
00212 
00213 
00214 
00215 XALAN_CPP_NAMESPACE_END
00216 
00217 
00218 
00219 #endif  // !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo