org.apache.xml.dtm.ref
Class DTMTreeWalker
java.lang.Object
org.apache.xml.dtm.ref.DTMTreeWalker
public class DTMTreeWalker
extends java.lang.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.
ContentHandler | getcontentHandler() - Get the ContentHandler used for the tree walk.
|
void | setDTM(DTM dtm) - Set the DTM to be traversed.
|
void | setcontentHandler(ContentHandler ch) - Set the ContentHandler used for the tree walk.
|
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.
|
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.
|
DTMTreeWalker
public DTMTreeWalker()
Constructor.
DTMTreeWalker
public DTMTreeWalker(ContentHandler contentHandler,
DTM dtm)
Constructor.
contentHandler
- The implemention of the
contentHandler operation (toXMLString, digest, ...)
getcontentHandler
public ContentHandler getcontentHandler()
Get the ContentHandler used for the tree walk.
- the ContentHandler used for the tree walk
setDTM
public void setDTM(DTM dtm)
Set the DTM to be traversed.
dtm
- The Document Table Model to be used.
setcontentHandler
public void setcontentHandler(ContentHandler ch)
Set the ContentHandler used for the tree walk.
ch
- the ContentHandler to be the result of the tree walk.
traverse
public void traverse(int pos)
throws org.xml.sax.SAXException
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.
pos
- Node in the tree at which to start (and end) traversal --
in other words, the root of the subtree to traverse over.
traverse
public void traverse(int pos,
int top)
throws org.xml.sax.SAXException
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.
pos
- Node in the tree where to start traversaltop
- Node in the tree where to end traversal.
If top==DTM.NULL, run through end of document.
Copyright B) 2005 Apache XML Project. All Rights Reserved.