org.apache.xml.dtm.ref

Class DTMTreeWalker

public class DTMTreeWalker extends Object

This class does a pre-order walk of the DTM tree, calling a ContentHandler interface as it goes. As such, it's more like the Visitor design pattern than like the DOM's TreeWalker. I think normally this class should not be needed, because of DTM#dispatchToEvents.

UNKNOWN: advanced

Constructor Summary
DTMTreeWalker()
Constructor.
DTMTreeWalker(ContentHandler contentHandler, DTM dtm)
Constructor.
Method Summary
ContentHandlergetcontentHandler()
Get the ContentHandler used for the tree walk.
voidsetcontentHandler(ContentHandler ch)
Set the ContentHandler used for the tree walk.
voidsetDTM(DTM dtm)
Set the DTM to be traversed.
voidtraverse(int pos)
Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.
voidtraverse(int pos, int top)
Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.

Constructor Detail

DTMTreeWalker

public DTMTreeWalker()
Constructor.

DTMTreeWalker

public DTMTreeWalker(ContentHandler contentHandler, DTM dtm)
Constructor.

Parameters: contentHandler The implemention of the contentHandler operation (toXMLString, digest, ...)

Method Detail

getcontentHandler

public ContentHandler getcontentHandler()
Get the ContentHandler used for the tree walk.

Returns: the ContentHandler used for the tree walk

setcontentHandler

public void setcontentHandler(ContentHandler ch)
Set the ContentHandler used for the tree walk.

Parameters: ch the ContentHandler to be the result of the tree walk.

setDTM

public void setDTM(DTM dtm)
Set the DTM to be traversed.

Parameters: dtm The Document Table Model to be used.

traverse

public void traverse(int pos)
Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.

Parameters: pos Node in the tree at which to start (and end) traversal -- in other words, the root of the subtree to traverse over.

Throws: TransformerException

traverse

public void traverse(int pos, int top)
Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.

Parameters: pos Node in the tree where to start traversal top Node in the tree where to end traversal. If top==DTM.NULL, run through end of document.

Throws: TransformerException

Copyright B) 2005 Apache XML Project. All Rights Reserved.