00001 #ifndef DOMTreeWalker_HEADER_GUARD_
00002 #define DOMTreeWalker_HEADER_GUARD_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <xercesc/dom/DOMNode.hpp>
00025 #include <xercesc/dom/DOMNodeFilter.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00029
00049 class DOMTreeWalker {
00050 protected:
00051
00052
00053
00056 DOMTreeWalker() {};
00058
00059 private:
00060
00061
00062
00065 DOMTreeWalker(const DOMTreeWalker &);
00066 DOMTreeWalker & operator = (const DOMTreeWalker &);
00068
00069 public:
00070
00071
00072
00079 virtual ~DOMTreeWalker() {};
00081
00082
00083
00084
00087
00088
00089
00090
00097 virtual DOMNode* getRoot() = 0;
00108 virtual unsigned long getWhatToShow()= 0;
00109
00115 virtual DOMNodeFilter* getFilter()= 0;
00116
00134 virtual bool getExpandEntityReferences()= 0;
00135
00141 virtual DOMNode* getCurrentNode()= 0;
00142
00143
00144
00145
00157 virtual DOMNode* parentNode()= 0;
00158
00169 virtual DOMNode* firstChild()= 0;
00170
00181 virtual DOMNode* lastChild()= 0;
00182
00193 virtual DOMNode* previousSibling()= 0;
00194
00204 virtual DOMNode* nextSibling()= 0;
00205
00218 virtual DOMNode* previousNode()= 0;
00219
00231 virtual DOMNode* nextNode()= 0;
00232
00233
00234
00235
00253 virtual void setCurrentNode(DOMNode* currentNode)= 0;
00255
00256
00257
00258
00267 virtual void release() = 0;
00269 };
00270
00271 #define GetDOMTreeWalkerMemoryManager GET_INDIRECT_MM(fCurrentNode)
00272
00273 XERCES_CPP_NAMESPACE_END
00274
00275 #endif