DOMTreeWalker.hpp
Go to the documentation of this file.
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* $Id: DOMTreeWalker.hpp 671894 2008-06-26 13:29:21Z borisk $
*/
#if !defined(XERCESC_INCLUDE_GUARD_DOMTREEWALKER_HPP)
#define XERCESC_INCLUDE_GUARD_DOMTREEWALKER_HPP
#include <xercesc/dom/DOMNode.hpp>
#include <xercesc/dom/DOMNodeFilter.hpp>
XERCES_CPP_NAMESPACE_BEGIN
class CDOM_EXPORT DOMTreeWalker {
protected:
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
DOMTreeWalker() {}
DOMTreeWalker(const DOMTreeWalker &) {}
private:
// -----------------------------------------------------------------------
// Unimplemented constructors and operators
// -----------------------------------------------------------------------
DOMTreeWalker & operator = (const DOMTreeWalker &);
public:
// -----------------------------------------------------------------------
// All constructors are hidden, just the destructor is available
// -----------------------------------------------------------------------
virtual ~DOMTreeWalker() {};
// -----------------------------------------------------------------------
// Virtual DOMTreeWalker interface
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
// Getter methods
// -----------------------------------------------------------------------
virtual DOMNode* getRoot() = 0;
virtual DOMNodeFilter::ShowType getWhatToShow()= 0;
virtual DOMNodeFilter* getFilter()= 0;
virtual bool getExpandEntityReferences()= 0;
virtual DOMNode* getCurrentNode()= 0;
// -----------------------------------------------------------------------
// Query methods
// -----------------------------------------------------------------------
virtual DOMNode* parentNode()= 0;
virtual DOMNode* firstChild()= 0;
virtual DOMNode* lastChild()= 0;
virtual DOMNode* previousSibling()= 0;
virtual DOMNode* nextSibling()= 0;
virtual DOMNode* previousNode()= 0;
virtual DOMNode* nextNode()= 0;
// -----------------------------------------------------------------------
// Setter methods
// -----------------------------------------------------------------------
virtual void setCurrentNode(DOMNode* currentNode)= 0;
// -----------------------------------------------------------------------
// Non-standard Extension
// -----------------------------------------------------------------------
virtual void release() = 0;
};
#define GetDOMTreeWalkerMemoryManager GET_INDIRECT_MM(fCurrentNode)
XERCES_CPP_NAMESPACE_END
#endif
DOMTreeWalker::DOMTreeWalker
DOMTreeWalker()
Definition: DOMTreeWalker.hpp:57
DOMTreeWalker::DOMTreeWalker
DOMTreeWalker(const DOMTreeWalker &)
Definition: DOMTreeWalker.hpp:58
DOMNodeFilter
Filters are objects that know how to "filter out" nodes.
Definition: DOMNodeFilter.hpp:49
DOMNodeFilter.hpp
DOMTreeWalker::~DOMTreeWalker
virtual ~DOMTreeWalker()
Destructor.
Definition: DOMTreeWalker.hpp:80
DOMNodeFilter::ShowType
unsigned long ShowType
Definition: DOMNodeFilter.hpp:193
CDOM_EXPORT
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
DOMTreeWalker
DOMTreeWalker objects are used to navigate a document tree or subtree using the view of the document ...
Definition: DOMTreeWalker.hpp:50
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139
DOMNode.hpp