Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:27:03

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  *
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  *
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMLSSERIALIZERFILTER_HPP)
0023 #define XERCESC_INCLUDE_GUARD_DOMLSSERIALIZERFILTER_HPP
0024 
0025 /**
0026  *
0027  * DOMLSSerializerFilter.hpp: interface for the DOMLSSerializerFilter class.
0028  *
0029  * DOMLSSerializerFilter provide applications the ability to examine nodes
0030  * as they are being serialized.
0031  *
0032  * DOMLSSerializerFilter lets the application decide what nodes should be
0033  * serialized or not.
0034  *
0035  * The DOMDocument, DOMDocumentType, DOMNotation, and DOMEntity nodes are not passed
0036  * to the filter.
0037  *
0038  * @since DOM Level 3
0039  */
0040 
0041 
0042 #include <xercesc/dom/DOMNodeFilter.hpp>
0043 
0044 XERCES_CPP_NAMESPACE_BEGIN
0045 
0046 
0047 class CDOM_EXPORT DOMLSSerializerFilter : public DOMNodeFilter {
0048 protected:
0049     // -----------------------------------------------------------------------
0050     //  Hidden constructors
0051     // -----------------------------------------------------------------------
0052     /** @name Hidden constructors */
0053     //@{
0054     DOMLSSerializerFilter() {};
0055     //@}
0056 
0057 private:
0058     // -----------------------------------------------------------------------
0059     // Unimplemented constructors and operators
0060     // -----------------------------------------------------------------------
0061     /** @name Unimplemented constructors and operators */
0062     //@{
0063     DOMLSSerializerFilter(const DOMLSSerializerFilter &);
0064     DOMLSSerializerFilter & operator = (const DOMLSSerializerFilter &);
0065     //@}
0066 
0067 
0068 public:
0069     // -----------------------------------------------------------------------
0070     //  All constructors are hidden, just the destructor is available
0071     // -----------------------------------------------------------------------
0072     /** @name Destructor */
0073     //@{
0074     /**
0075      * Destructor
0076      *
0077      */
0078     virtual ~DOMLSSerializerFilter() {};
0079     //@}
0080 
0081     // -----------------------------------------------------------------------
0082     //  Virtual DOMLSSerializerFilter interface
0083     // -----------------------------------------------------------------------
0084     /** @name Functions introduced in DOM Level 3 */
0085     //@{
0086      /**
0087      * Interface from <code>DOMNodeFilter</code>,
0088      * to be implemented by implementation (derived class)
0089      */
0090     virtual FilterAction acceptNode(const DOMNode* node) const = 0;
0091 
0092     /**
0093      * Tells the DOMLSSerializer what types of nodes to show to the filter.
0094      * See <code>DOMNodeFilter</code> for definition of the constants.
0095      * The constant SHOW_ATTRIBUTE is meaningless here, attribute nodes will
0096      * never be passed to a DOMLSSerializerFilter.
0097      *
0098      * @return The constants of what types of nodes to show.
0099      * @since DOM Level 3
0100      */
0101     virtual ShowType getWhatToShow() const =0;
0102     //@}
0103 };
0104 
0105 XERCES_CPP_NAMESPACE_END
0106 
0107 #endif