00001 #ifndef DOMNodeFilter_HEADER_GUARD_ 00002 #define DOMNodeFilter_HEADER_GUARD_ 00003 00004 /* 00005 * Licensed to the Apache Software Foundation (ASF) under one or more 00006 * contributor license agreements. See the NOTICE file distributed with 00007 * this work for additional information regarding copyright ownership. 00008 * The ASF licenses this file to You under the Apache License, Version 2.0 00009 * (the "License"); you may not use this file except in compliance with 00010 * the License. You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, software 00015 * distributed under the License is distributed on an "AS IS" BASIS, 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00017 * See the License for the specific language governing permissions and 00018 * limitations under the License. 00019 */ 00020 00021 /* 00022 * $Id: DOMNodeFilter.hpp 568078 2007-08-21 11:43:25Z amassari $ 00023 */ 00024 00025 #include <xercesc/dom/DOMNode.hpp> 00026 00027 XERCES_CPP_NAMESPACE_BEGIN 00028 00029 00049 class CDOM_EXPORT DOMNodeFilter 00050 { 00051 protected: 00052 // ----------------------------------------------------------------------- 00053 // Hidden constructors 00054 // ----------------------------------------------------------------------- 00057 DOMNodeFilter() {}; 00059 00060 private: 00061 // ----------------------------------------------------------------------- 00062 // Unimplemented constructors and operators 00063 // ----------------------------------------------------------------------- 00066 DOMNodeFilter(const DOMNodeFilter &); 00067 DOMNodeFilter & operator = (const DOMNodeFilter &); 00069 00070 public: 00071 // ----------------------------------------------------------------------- 00072 // All constructors are hidden, just the destructor is available 00073 // ----------------------------------------------------------------------- 00080 virtual ~DOMNodeFilter() {}; 00082 00083 // ----------------------------------------------------------------------- 00084 // Class Types 00085 // ----------------------------------------------------------------------- 00112 enum FilterAction {FILTER_ACCEPT = 1, 00113 FILTER_REJECT = 2, 00114 FILTER_SKIP = 3}; 00115 00177 enum ShowType { 00178 SHOW_ALL = 0x0000FFFF, 00179 SHOW_ELEMENT = 0x00000001, 00180 SHOW_ATTRIBUTE = 0x00000002, 00181 SHOW_TEXT = 0x00000004, 00182 SHOW_CDATA_SECTION = 0x00000008, 00183 SHOW_ENTITY_REFERENCE = 0x00000010, 00184 SHOW_ENTITY = 0x00000020, 00185 SHOW_PROCESSING_INSTRUCTION = 0x00000040, 00186 SHOW_COMMENT = 0x00000080, 00187 SHOW_DOCUMENT = 0x00000100, 00188 SHOW_DOCUMENT_TYPE = 0x00000200, 00189 SHOW_DOCUMENT_FRAGMENT = 0x00000400, 00190 SHOW_NOTATION = 0x00000800 00191 }; 00193 00194 // ----------------------------------------------------------------------- 00195 // Virtual DOMNodeFilter interface 00196 // ----------------------------------------------------------------------- 00211 virtual short acceptNode (const DOMNode* node) const =0; 00213 00214 }; 00215 00216 XERCES_CPP_NAMESPACE_END 00217 00218 #endif