DOMNodeFilter.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: DOMNodeFilter.hpp 671894 2008-06-26 13:29:21Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_DOMNODEFILTER_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMNODEFILTER_HPP
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 ShowTypeMasks {
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     };
00192 
00193     typedef unsigned long ShowType;
00194 
00196 
00197     // -----------------------------------------------------------------------
00198     //  Virtual DOMNodeFilter interface
00199     // -----------------------------------------------------------------------
00214     virtual FilterAction acceptNode (const DOMNode* node) const =0;
00216 
00217 };
00218 
00219 XERCES_CPP_NAMESPACE_END
00220 
00221 #endif

Generated on Wed Feb 18 07:56:09 2009 for Xerces-C++ by  doxygen 1.5.4