## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# 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.

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