1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 /* 19 * $Id: DOMLSSerializerFilter.hpp 671894 2008-06-26 13:29:21Z borisk $ 20 */ 21 22 #if !defined(XERCESC_INCLUDE_GUARD_DOMLSSERIALIZERFILTER_HPP) 23 #define XERCESC_INCLUDE_GUARD_DOMLSSERIALIZERFILTER_HPP 24 25 /** 26 * 27 * DOMLSSerializerFilter.hpp: interface for the DOMLSSerializerFilter class. 28 * 29 * DOMLSSerializerFilter provide applications the ability to examine nodes 30 * as they are being serialized. 31 * 32 * DOMLSSerializerFilter lets the application decide what nodes should be 33 * serialized or not. 34 * 35 * The DOMDocument, DOMDocumentType, DOMNotation, and DOMEntity nodes are not passed 36 * to the filter. 37 * 38 * @since DOM Level 3 39 */ 40 41 42 #include <xercesc/dom/DOMNodeFilter.hpp> 43 44 XERCES_CPP_NAMESPACE_BEGIN 45 46 47 class CDOM_EXPORT DOMLSSerializerFilter : public DOMNodeFilter { 48 protected: 49 // ----------------------------------------------------------------------- 50 // Hidden constructors 51 // ----------------------------------------------------------------------- 52 /** @name Hidden constructors */ 53 //@{ DOMLSSerializerFilter()54 DOMLSSerializerFilter() {}; 55 //@} 56 57 private: 58 // ----------------------------------------------------------------------- 59 // Unimplemented constructors and operators 60 // ----------------------------------------------------------------------- 61 /** @name Unimplemented constructors and operators */ 62 //@{ 63 DOMLSSerializerFilter(const DOMLSSerializerFilter &); 64 DOMLSSerializerFilter & operator = (const DOMLSSerializerFilter &); 65 //@} 66 67 68 public: 69 // ----------------------------------------------------------------------- 70 // All constructors are hidden, just the destructor is available 71 // ----------------------------------------------------------------------- 72 /** @name Destructor */ 73 //@{ 74 /** 75 * Destructor 76 * 77 */ ~DOMLSSerializerFilter()78 virtual ~DOMLSSerializerFilter() {}; 79 //@} 80 81 // ----------------------------------------------------------------------- 82 // Virtual DOMLSSerializerFilter interface 83 // ----------------------------------------------------------------------- 84 /** @name Functions introduced in DOM Level 3 */ 85 //@{ 86 /** 87 * Interface from <code>DOMNodeFilter</code>, 88 * to be implemented by implementation (derived class) 89 */ 90 virtual FilterAction acceptNode(const DOMNode* node) const = 0; 91 92 /** 93 * Tells the DOMLSSerializer what types of nodes to show to the filter. 94 * See <code>DOMNodeFilter</code> for definition of the constants. 95 * The constant SHOW_ATTRIBUTE is meaningless here, attribute nodes will 96 * never be passed to a DOMLSSerializerFilter. 97 * 98 * @return The constants of what types of nodes to show. 99 * @since DOM Level 3 100 */ 101 virtual ShowType getWhatToShow() const =0; 102 //@} 103 }; 104 105 XERCES_CPP_NAMESPACE_END 106 107 #endif 108