Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Public Member Functions | Protected Member Functions | List of all members
XercesDOMWalker Class Referenceabstract

#include <XercesDOMWalker.hpp>

Inherited by XercesDocumentWrapper::BuildWrapperTreeWalker, and XercesDOMFormatterWalker.

Public Member Functions

 XercesDOMWalker ()
 Constructor. More...
 
virtual ~XercesDOMWalker ()
 
const DOMNodeType * traverse (const DOMNodeType *pos)
 Perform a document-order traversal. More...
 
DOMNodeType * traverse (DOMNodeType *pos)
 Perform a document-order traversal. More...
 
const DOMNodeType * traverse (const DOMNodeType *pos, const DOMNodeType *parent)
 Perform a document-order traversal stopping at the provided parent node. More...
 
DOMNodeType * traverse (DOMNodeType *pos, DOMNodeType *parent)
 Perform a document-order traversal stopping at the provided parent node. More...
 
void traverseSubtree (const DOMNodeType *pos)
 Perform a pre-order traversal. More...
 
void traverseSubtree (DOMNodeType *pos)
 Perform a document-order traversal. More...
 

Protected Member Functions

virtual bool startNode (const DOMNodeType *node)=0
 Called when first walking a node. More...
 
virtual bool startNode (DOMNodeType *node)
 Called when first walking a node. More...
 
virtual bool endNode (const DOMNodeType *node)=0
 Called when leaving a node. More...
 
virtual bool endNode (DOMNodeType *node)
 Called when leaving a node. More...
 

Detailed Description

Definition at line 32 of file XercesDOMWalker.hpp.

Constructor & Destructor Documentation

◆ XercesDOMWalker()

XercesDOMWalker::XercesDOMWalker ( )

Constructor.

◆ ~XercesDOMWalker()

virtual XercesDOMWalker::~XercesDOMWalker ( )
virtual

Member Function Documentation

◆ endNode() [1/2]

virtual bool XercesDOMWalker::endNode ( const DOMNodeType *  node)
protectedpure virtual

Called when leaving a node.

Parameters
nodeThe node
Returns
return false if traversal should continue, or true if it should not.

Implemented in XercesDocumentWrapper::BuildWrapperTreeWalker, and XercesDOMFormatterWalker.

◆ endNode() [2/2]

virtual bool XercesDOMWalker::endNode ( DOMNodeType *  node)
protectedvirtual

Called when leaving a node.

Parameters
nodeThe node
Returns
return false if traversal should continue, or true if it should not.

◆ startNode() [1/2]

virtual bool XercesDOMWalker::startNode ( const DOMNodeType *  node)
protectedpure virtual

Called when first walking a node.

Parameters
nodeThe node
Returns
return false if traversal should continue, or true if it should not.

Implemented in XercesDocumentWrapper::BuildWrapperTreeWalker, and XercesDOMFormatterWalker.

◆ startNode() [2/2]

virtual bool XercesDOMWalker::startNode ( DOMNodeType *  node)
protectedvirtual

Called when first walking a node.

Parameters
nodeThe node
Returns
return false if traversal should continue, or true if it should not.

◆ traverse() [1/4]

const DOMNodeType* XercesDOMWalker::traverse ( const DOMNodeType *  pos)

Perform a document-order traversal.

Derived classes and stop the traversal by returning true from startNode() or endNode(). If that happens, the function will return the next node in document order. If desired, the caller can start traversing the tree again from that point. Note that terminal nodes will always have startNode() and endNode() called before the traversal terminates.

Parameters
posThe node in the tree with which to start the walk
Returns
0 if the traversal completes, or the next node if the traversal doesn't complete.

◆ traverse() [2/4]

DOMNodeType* XercesDOMWalker::traverse ( DOMNodeType *  pos)

Perform a document-order traversal.

Derived classes and stop the traversal by returning true from startNode() or endNode(). If that happens, the function will return the next node in document order. If desired, the caller can start traversing the tree again from that point. Note that terminal nodes will always have startNode() and endNode() called before the traversal terminates.

Parameters
posThe node in the tree with which to start the walk
Returns
0 if the traversal completes, or the next node if the traversal doesn't complete.

◆ traverse() [3/4]

const DOMNodeType* XercesDOMWalker::traverse ( const DOMNodeType *  pos,
const DOMNodeType *  parent 
)

Perform a document-order traversal stopping at the provided parent node.

Derived classes and stop the traversal by returning true from startNode() or endNode(). If that happens, the function will return the next node in document order. If desired, the caller can start traversing the tree again from that point. Note that terminal nodes will always have startNode() and endNode() called before the traversal terminates.

Parameters
posThe node in the tree with which to start the walk
parentThe parent of pos. Note that for multiple calls that continue the traversal, this node must remain the same.
Returns
parent if the traversal completes, or the next node if the traversal doesn't complete.

◆ traverse() [4/4]

DOMNodeType* XercesDOMWalker::traverse ( DOMNodeType *  pos,
DOMNodeType *  parent 
)

Perform a document-order traversal stopping at the provided parent node.

Derived classes and stop the traversal by returning true from startNode() or endNode(). If that happens, the function will return the next node in document order. If desired, the caller can start traversing the tree again from that point. Note that terminal nodes will always have startNode() and endNode() called before the traversal terminates.

Parameters
posThe node in the tree with which to start the walk
parentThe parent of pos. Note that for multiple calls that continue the traversal, this node must remain the same.
Returns
parent if the traversal completes, or the next node if the traversal doesn't complete.

◆ traverseSubtree() [1/2]

void XercesDOMWalker::traverseSubtree ( const DOMNodeType *  pos)

Perform a pre-order traversal.

Parameters
posstarting node

◆ traverseSubtree() [2/2]

void XercesDOMWalker::traverseSubtree ( DOMNodeType *  pos)

Perform a document-order traversal.

Parameters
posstarting node

The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo