00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055
00056
00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093
00094
00095
00096 00098
00099 #ifndef DOM_NodeFilter_HEADER_GUARD_
00100 #define DOM_NodeFilter_HEADER_GUARD_
00101
00102 #include "DOM_Node.hpp"
00103
00104 class NodeFilterImpl;
00105
00106
00128 class DOM_NodeFilter
00129 {
00130 public:
00132
00133 00134 00135 00136 00137 00138 00139 00140 00141 00142 00143 00144 00145 00146 00147 00148 00149 00150 00151 00152 00153 00154
00155 enum FilterAction {FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP};
00156 enum ShowType {
00157 SHOW_ALL = 0x0000FFFF,
00158 SHOW_ELEMENT = 0x00000001,
00159 SHOW_ATTRIBUTE = 0x00000002,
00160 SHOW_TEXT = 0x00000004,
00161 SHOW_CDATA_SECTION = 0x00000008,
00162 SHOW_ENTITY_REFERENCE = 0x00000010,
00163 SHOW_ENTITY = 0x00000020,
00164 SHOW_PROCESSING_INSTRUCTION = 0x00000040,
00165 SHOW_COMMENT = 0x00000080,
00166 SHOW_DOCUMENT = 0x00000100,
00167 SHOW_DOCUMENT_TYPE = 0x00000200,
00168 SHOW_DOCUMENT_FRAGMENT = 0x00000400,
00169 SHOW_NOTATION = 0x00000800
00170 };
00171
00172
00174
00178 DOM_NodeFilter();
00179
00180
00182
00186 virtual ~DOM_NodeFilter();
00187
00188
00190
00202 virtual short acceptNode (const DOM_Node &node) const =0;
00203
00204
00205 private:
00206 DOM_NodeFilter(const DOM_NodeFilter &other);
00207 DOM_NodeFilter & operator = (const DOM_NodeFilter &other);
00208 bool operator == (const DOM_NodeFilter &other) const;
00209 bool operator != (const DOM_NodeFilter &other) const;
00210 };
00211
00212 #endif