00001 #ifndef DOMWriterFilter_HEADER_GUARD_ 00002 #define DOMWriterFilter_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: DOMWriterFilter.hpp 568078 2007-08-21 11:43:25Z amassari $ 00023 */ 00024 00042 #include <xercesc/dom/DOMNodeFilter.hpp> 00043 00044 XERCES_CPP_NAMESPACE_BEGIN 00045 00046 00047 class CDOM_EXPORT DOMWriterFilter : public DOMNodeFilter { 00048 protected: 00049 // ----------------------------------------------------------------------- 00050 // Hidden constructors 00051 // ----------------------------------------------------------------------- 00054 DOMWriterFilter() {}; 00056 00057 private: 00058 // ----------------------------------------------------------------------- 00059 // Unimplemented constructors and operators 00060 // ----------------------------------------------------------------------- 00063 DOMWriterFilter(const DOMWriterFilter &); 00064 DOMWriterFilter & operator = (const DOMWriterFilter &); 00066 00067 00068 public: 00069 // ----------------------------------------------------------------------- 00070 // All constructors are hidden, just the destructor is available 00071 // ----------------------------------------------------------------------- 00078 virtual ~DOMWriterFilter() {}; 00080 00081 // ----------------------------------------------------------------------- 00082 // Virtual DOMWriterFilter interface 00083 // ----------------------------------------------------------------------- 00090 virtual short acceptNode(const DOMNode* node) const = 0; 00091 00104 virtual unsigned long getWhatToShow() const =0; 00105 00116 virtual void setWhatToShow(unsigned long toShow) =0; 00118 00119 private: 00120 00121 // ----------------------------------------------------------------------- 00122 // Private data members 00123 // 00124 // fWhatToShow 00125 // 00126 // The whatToShow mask. 00127 // Tells the DOMWriter what types of nodes to show to the filter. 00128 // See NodeFilter for definition of the constants. 00129 // The constants 00130 // SHOW_ATTRIBUTE, 00131 // SHOW_DOCUMENT, 00132 // SHOW_DOCUMENT_TYPE, 00133 // SHOW_NOTATION, and 00134 // SHOW_DOCUMENT_FRAGMENT are meaningless here, 00135 // Entity nodes are not passed to the filter. 00136 // 00137 // Those nodes will never be passed to a DOMWriterFilter. 00138 // 00139 // Derived class shall add this data member: 00140 // 00141 // unsigned long fWhatToShow; 00142 // ----------------------------------------------------------------------- 00143 00144 }; 00145 00146 XERCES_CPP_NAMESPACE_END 00147 00148 #endif