00001 #if !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680) 00002 #define XERCESDOM_NODEHACK_HEADER_GUARD_1357924680 00003 00004 00005 00006 #include <XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00007 00008 00009 00010 #include <dom/DOM_Node.hpp> 00011 #include <dom/DOM_Attr.hpp> 00012 #include <dom/DOM_Element.hpp> 00013 #include <dom/DOM_Text.hpp> 00014 00015 00016 00017 // An evil class to hack the Xerces smart-pointer class. I'm 00018 // only doing this because I have to... 00019 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_NodeHack : public DOM_Node 00020 { 00021 public: 00022 00023 XercesDOM_NodeHack(NodeImpl* theImpl = 0); 00024 00025 ~XercesDOM_NodeHack(); 00026 00027 NodeImpl* 00028 getImpl() const 00029 { 00030 return fImpl; 00031 } 00032 00033 static NodeImpl* 00034 getImpl(const DOM_Node& theNode) 00035 { 00036 #if defined(XALAN_OLD_STYLE_CASTS) 00037 return ((const XercesDOM_NodeHack&)theNode).getImpl(); 00038 #else 00039 return static_cast<const XercesDOM_NodeHack&>(theNode).getImpl(); 00040 #endif 00041 } 00042 }; 00043 00044 00045 00046 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_AttrHack : public DOM_Attr 00047 { 00048 public: 00049 00050 XercesDOM_AttrHack(AttrImpl* theImpl = 0); 00051 00052 XercesDOM_AttrHack(const DOM_Attr& theSource); 00053 00054 ~XercesDOM_AttrHack(); 00055 }; 00056 00057 00058 00059 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_ElementHack : public DOM_Element 00060 { 00061 public: 00062 00063 XercesDOM_ElementHack(ElementImpl* theImpl = 0); 00064 00065 XercesDOM_ElementHack(const DOM_Element& theSource); 00066 00067 ~XercesDOM_ElementHack(); 00068 00069 00070 const DOMString 00071 getNodeNameImpl() const; 00072 00073 const DOMString 00074 getNodeValueImpl() const; 00075 00076 const DOMString 00077 getNamespaceURIImpl() const; 00078 00079 const DOMString 00080 getPrefixImpl() const; 00081 00082 const DOMString 00083 getLocalNameImpl() const; 00084 00085 const DOMString 00086 getTagNameImpl() const; 00087 00088 const DOMString 00089 getAttributeImpl(const DOMString& name) const; 00090 00091 const DOMString 00092 getAttributeNSImpl( 00093 const DOMString& namespaceURI, 00094 const DOMString& localName) const; 00095 00096 ElementImpl* 00097 getImpl() const 00098 { 00099 #if defined(XALAN_OLD_STYLE_CASTS) 00100 return (ElementImpl*)fImpl; 00101 #else 00102 return reinterpret_cast<ElementImpl*>(fImpl); 00103 #endif 00104 } 00105 00106 static ElementImpl* 00107 getImpl(const DOM_Element& theNode) 00108 { 00109 #if defined(XALAN_OLD_STYLE_CASTS) 00110 return ((const XercesDOM_ElementHack&)theNode).getImpl(); 00111 #else 00112 return static_cast<const XercesDOM_ElementHack&>(theNode).getImpl(); 00113 #endif 00114 } 00115 }; 00116 00117 00118 00119 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_TextHack : public DOM_Text 00120 { 00121 public: 00122 00123 XercesDOM_TextHack(TextImpl* theImpl = 0); 00124 00125 XercesDOM_TextHack(const DOM_Text& theSource); 00126 00127 ~XercesDOM_TextHack(); 00128 00129 00130 const DOMString 00131 getNodeNameImpl() const; 00132 00133 const DOMString 00134 getNodeValueImpl() const; 00135 00136 const DOMString 00137 getNamespaceURIImpl() const; 00138 00139 const DOMString 00140 getPrefixImpl() const; 00141 00142 const DOMString 00143 getLocalNameImpl() const; 00144 00145 const DOMString 00146 getDataImpl() const; 00147 00148 TextImpl* 00149 getImpl() const 00150 { 00151 #if defined(XALAN_OLD_STYLE_CASTS) 00152 return (TextImpl*)fImpl; 00153 #else 00154 return reinterpret_cast<TextImpl*>(fImpl); 00155 #endif 00156 } 00157 00158 static TextImpl* 00159 getImpl(const DOM_Text& theNode) 00160 { 00161 #if defined(XALAN_OLD_STYLE_CASTS) 00162 return ((const XercesDOM_TextHack&)theNode).getImpl(); 00163 #else 00164 return static_cast<const XercesDOM_TextHack&>(theNode).getImpl(); 00165 #endif 00166 } 00167 }; 00168 00169 00170 00171 #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++ XSL Transformer Version 1.1 |
|