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$
*/
#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
DOMNodeFilter.hpp
DOMNode.hpp
CDOM_EXPORT
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
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
DOMNodeFilter
Filters are objects that know how to "filter out" nodes.
Definition: DOMNodeFilter.hpp:50
DOMNodeFilter::ShowType
unsigned long ShowType
Definition: DOMNodeFilter.hpp:193
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139
DOMTreeWalker
DOMTreeWalker objects are used to navigate a document tree or subtree using the view of the document ...
Definition: DOMTreeWalker.hpp:50
DOMTreeWalker::previousNode
virtual DOMNode * previousNode()=0
Moves the DOMTreeWalker to the previous visible node in document order relative to the current node,...
DOMTreeWalker::getFilter
virtual DOMNodeFilter * getFilter()=0
Return The filter used to screen nodes.
DOMTreeWalker::lastChild
virtual DOMNode * lastChild()=0
Moves the DOMTreeWalker to the last visible child of the current node, and returns the new node.
DOMTreeWalker::~DOMTreeWalker
virtual ~DOMTreeWalker()
Destructor.
Definition: DOMTreeWalker.hpp:80
DOMTreeWalker::previousSibling
virtual DOMNode * previousSibling()=0
Moves the DOMTreeWalker to the previous sibling of the current node, and returns the new node.
DOMTreeWalker::DOMTreeWalker
DOMTreeWalker(const DOMTreeWalker &)
Definition: DOMTreeWalker.hpp:58
DOMTreeWalker::getRoot
virtual DOMNode * getRoot()=0
The root node of the DOMTreeWalker, as specified when it was created.
DOMTreeWalker::nextNode
virtual DOMNode * nextNode()=0
Moves the DOMTreeWalker to the next visible node in document order relative to the current node,...
DOMTreeWalker::DOMTreeWalker
DOMTreeWalker()
Definition: DOMTreeWalker.hpp:57
DOMTreeWalker::setCurrentNode
virtual void setCurrentNode(DOMNode *currentNode)=0
The node at which the DOMTreeWalker is currently positioned.
DOMTreeWalker::nextSibling
virtual DOMNode * nextSibling()=0
Moves the DOMTreeWalker to the next sibling of the current node, and returns the new node.
DOMTreeWalker::firstChild
virtual DOMNode * firstChild()=0
Moves the DOMTreeWalker to the first visible child of the current node, and returns the new node.
DOMTreeWalker::release
virtual void release()=0
Called to indicate that this TreeWalker is no longer in use and that the implementation may relinquis...
DOMTreeWalker::getCurrentNode
virtual DOMNode * getCurrentNode()=0
Return the node at which the DOMTreeWalker is currently positioned.
DOMTreeWalker::parentNode
virtual DOMNode * parentNode()=0
Moves to and returns the closest visible ancestor node of the current node.
DOMTreeWalker::getWhatToShow
virtual DOMNodeFilter::ShowType getWhatToShow()=0
This attribute determines which node types are presented via the DOMTreeWalker.
DOMTreeWalker::getExpandEntityReferences
virtual bool getExpandEntityReferences()=0
The value of this flag determines whether the children of entity reference nodes are visible to the D...