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
00025 #include <xercesc/dom/DOMNode.hpp>
00026 #include <xercesc/dom/DOMNodeFilter.hpp>
00027
00028 XERCES_CPP_NAMESPACE_BEGIN
00029
00030
00050 class DOMTreeWalker {
00051 protected:
00052
00053
00054
00057 DOMTreeWalker() {}
00058 DOMTreeWalker(const DOMTreeWalker &) {}
00060
00061 private:
00062
00063
00064
00067 DOMTreeWalker & operator = (const DOMTreeWalker &);
00069
00070 public:
00071
00072
00073
00080 virtual ~DOMTreeWalker() {};
00082
00083
00084
00085
00088
00089
00090
00091
00098 virtual DOMNode* getRoot() = 0;
00109 virtual unsigned long getWhatToShow()= 0;
00110
00116 virtual DOMNodeFilter* getFilter()= 0;
00117
00135 virtual bool getExpandEntityReferences()= 0;
00136
00142 virtual DOMNode* getCurrentNode()= 0;
00143
00144
00145
00146
00158 virtual DOMNode* parentNode()= 0;
00159
00170 virtual DOMNode* firstChild()= 0;
00171
00182 virtual DOMNode* lastChild()= 0;
00183
00194 virtual DOMNode* previousSibling()= 0;
00195
00205 virtual DOMNode* nextSibling()= 0;
00206
00219 virtual DOMNode* previousNode()= 0;
00220
00232 virtual DOMNode* nextNode()= 0;
00233
00234
00235
00236
00254 virtual void setCurrentNode(DOMNode* currentNode)= 0;
00256
00257
00258
00259
00268 virtual void release() = 0;
00270 };
00271
00272 #define GetDOMTreeWalkerMemoryManager GET_INDIRECT_MM(fCurrentNode)
00273
00274 XERCES_CPP_NAMESPACE_END
00275
00276 #endif