00001 #ifndef DOMWriterFilter_HEADER_GUARD_ 00002 #define DOMWriterFilter_HEADER_GUARD_ 00003 00004 /* 00005 * Copyright 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: DOMWriterFilter.hpp 191054 2005-06-17 02:56:35Z jberry $ 00022 */ 00023 00041 #include <xercesc/dom/DOMNodeFilter.hpp> 00042 00043 XERCES_CPP_NAMESPACE_BEGIN 00044 00045 00046 class CDOM_EXPORT DOMWriterFilter : public DOMNodeFilter { 00047 protected: 00048 // ----------------------------------------------------------------------- 00049 // Hidden constructors 00050 // ----------------------------------------------------------------------- 00053 DOMWriterFilter() {}; 00055 00056 private: 00057 // ----------------------------------------------------------------------- 00058 // Unimplemented constructors and operators 00059 // ----------------------------------------------------------------------- 00062 DOMWriterFilter(const DOMWriterFilter &); 00063 DOMWriterFilter & operator = (const DOMWriterFilter &); 00065 00066 00067 public: 00068 // ----------------------------------------------------------------------- 00069 // All constructors are hidden, just the destructor is available 00070 // ----------------------------------------------------------------------- 00077 virtual ~DOMWriterFilter() {}; 00079 00080 // ----------------------------------------------------------------------- 00081 // Virtual DOMWriterFilter interface 00082 // ----------------------------------------------------------------------- 00089 virtual short acceptNode(const DOMNode* node) const = 0; 00090 00103 virtual unsigned long getWhatToShow() const =0; 00104 00115 virtual void setWhatToShow(unsigned long toShow) =0; 00117 00118 private: 00119 00120 // ----------------------------------------------------------------------- 00121 // Private data members 00122 // 00123 // fWhatToShow 00124 // 00125 // The whatToShow mask. 00126 // Tells the DOMWriter what types of nodes to show to the filter. 00127 // See NodeFilter for definition of the constants. 00128 // The constants 00129 // SHOW_ATTRIBUTE, 00130 // SHOW_DOCUMENT, 00131 // SHOW_DOCUMENT_TYPE, 00132 // SHOW_NOTATION, and 00133 // SHOW_DOCUMENT_FRAGMENT are meaningless here, 00134 // Entity nodes are not passed to the filter. 00135 // 00136 // Those nodes will never be passed to a DOMWriterFilter. 00137 // 00138 // Derived class shall add this data member: 00139 // 00140 // unsigned long fWhatToShow; 00141 // ----------------------------------------------------------------------- 00142 00143 }; 00144 00145 XERCES_CPP_NAMESPACE_END 00146 00147 #endif