00001 #ifndef DOMNodeFilter_HEADER_GUARD_
00002 #define DOMNodeFilter_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 
00026 XERCES_CPP_NAMESPACE_BEGIN
00027 
00028 
00048 class  DOMNodeFilter
00049 {
00050 protected:
00051     
00052     
00053     
00056     DOMNodeFilter() {};
00058 
00059 private:
00060     
00061     
00062     
00065     DOMNodeFilter(const DOMNodeFilter &);
00066     DOMNodeFilter & operator = (const DOMNodeFilter &);
00068 
00069 public:
00070     
00071     
00072     
00079     virtual ~DOMNodeFilter() {};
00081 
00082     
00083     
00084     
00111     enum FilterAction {FILTER_ACCEPT = 1,
00112                        FILTER_REJECT = 2,
00113                        FILTER_SKIP   = 3};
00114 
00176     enum ShowType {
00177         SHOW_ALL                       = 0x0000FFFF,
00178         SHOW_ELEMENT                   = 0x00000001,
00179         SHOW_ATTRIBUTE                 = 0x00000002,
00180         SHOW_TEXT                      = 0x00000004,
00181         SHOW_CDATA_SECTION             = 0x00000008,
00182         SHOW_ENTITY_REFERENCE          = 0x00000010,
00183         SHOW_ENTITY                    = 0x00000020,
00184         SHOW_PROCESSING_INSTRUCTION    = 0x00000040,
00185         SHOW_COMMENT                   = 0x00000080,
00186         SHOW_DOCUMENT                  = 0x00000100,
00187         SHOW_DOCUMENT_TYPE             = 0x00000200,
00188         SHOW_DOCUMENT_FRAGMENT         = 0x00000400,
00189         SHOW_NOTATION                  = 0x00000800
00190     };
00192 
00193     
00194     
00195     
00210     virtual short acceptNode (const DOMNode* node) const =0;
00212 
00213 };
00214 
00215 XERCES_CPP_NAMESPACE_END
00216 
00217 #endif