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)
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.10 |
|