00001 #ifndef DOMNodeFilter_HEADER_GUARD_ 00002 #define DOMNodeFilter_HEADER_GUARD_ 00003 00004 /* 00005 * Copyright 2001-2002,2004 The Apache Software Foundation. 00006 * 00007 * Licensed under the Apache License, Version 2.0 (the "License"); 00008 * you may not use this file except in compliance with the License. 00009 * You may obtain a copy of the License at 00010 * 00011 * http://www.apache.org/licenses/LICENSE-2.0 00012 * 00013 * Unless required by applicable law or agreed to in writing, software 00014 * distributed under the License is distributed on an "AS IS" BASIS, 00015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00016 * See the License for the specific language governing permissions and 00017 * limitations under the License. 00018 */ 00019 00020 /* 00021 * $Id: DOMNodeFilter.hpp 176081 2004-09-26 15:38:03Z gareth $ 00022 */ 00023 00024 #include <xercesc/dom/DOMNode.hpp> 00025 00026 XERCES_CPP_NAMESPACE_BEGIN 00027 00028 00048 class CDOM_EXPORT DOMNodeFilter 00049 { 00050 protected: 00051 // ----------------------------------------------------------------------- 00052 // Hidden constructors 00053 // ----------------------------------------------------------------------- 00056 DOMNodeFilter() {}; 00058 00059 private: 00060 // ----------------------------------------------------------------------- 00061 // Unimplemented constructors and operators 00062 // ----------------------------------------------------------------------- 00065 DOMNodeFilter(const DOMNodeFilter &); 00066 DOMNodeFilter & operator = (const DOMNodeFilter &); 00068 00069 public: 00070 // ----------------------------------------------------------------------- 00071 // All constructors are hidden, just the destructor is available 00072 // ----------------------------------------------------------------------- 00079 virtual ~DOMNodeFilter() {}; 00081 00082 // ----------------------------------------------------------------------- 00083 // Class Types 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 // Virtual DOMNodeFilter interface 00195 // ----------------------------------------------------------------------- 00210 virtual short acceptNode (const DOMNode* node) const =0; 00212 00213 }; 00214 00215 XERCES_CPP_NAMESPACE_END 00216 00217 #endif