Package org.apache.xml.dtm.ref
Class DTMTreeWalker
java.lang.Object
org.apache.xml.dtm.ref.DTMTreeWalker
- Direct Known Subclasses:
TreeWalker2Result
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.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.DTMTreeWalker
(ContentHandler contentHandler, DTM dtm) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionGet the ContentHandler used for the tree walk.void
Set the ContentHandler used for the tree walk.void
Set the DTM to be traversed.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.
-
Constructor Details
-
DTMTreeWalker
public DTMTreeWalker()Constructor. -
DTMTreeWalker
Constructor.- Parameters:
contentHandler
- The implemention of the contentHandler operation (toXMLString, digest, ...)
-
-
Method Details
-
setDTM
Set the DTM to be traversed.- Parameters:
dtm
- The Document Table Model to be used.
-
getcontentHandler
Get the ContentHandler used for the tree walk.- Returns:
- the ContentHandler used for the tree walk
-
setcontentHandler
Set the ContentHandler used for the tree walk.- Parameters:
ch
- the ContentHandler to be the result of the tree walk.
-
traverse
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
SAXException
-
traverse
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 traversaltop
- Node in the tree where to end traversal. If top==DTM.NULL, run through end of document.- Throws:
TransformerException
SAXException
-