- Main Page
- Related Pages
- Classes
- Files

# 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