org.apache.xml.dtm.ref

Class DTMNodeIterator

Implemented Interfaces:
org.w3c.dom.traversal.NodeIterator

public class DTMNodeIterator
extends java.lang.Object
implements org.w3c.dom.traversal.NodeIterator

DTMNodeIterator gives us an implementation of the DTMNodeIterator which returns DOM nodes. Please note that this is not necessarily equivlaent to a DOM NodeIterator operating over the same document. In particular:

State: In progress!!

Constructor Summary

DTMNodeIterator(DTMIterator dtmIterator)
Public constructor: Wrap a DTMNodeIterator around an existing and preconfigured DTMIterator

Method Summary

void
detach()
Detaches the NodeIterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
DTMIterator
getDTMIterator()
Access the wrapped DTMIterator.
boolean
getExpandEntityReferences()
The value of this flag determines whether the children of entity reference nodes are visible to the iterator.
NodeFilter
getFilter()
Return a handle to the filter used to screen nodes.
Node
getRoot()
int
getWhatToShow()
Return a mask describing which node types are presented via the iterator.
Node
nextNode()
Node
previousNode()

Constructor Details

DTMNodeIterator

public DTMNodeIterator(DTMIterator dtmIterator)
Public constructor: Wrap a DTMNodeIterator around an existing and preconfigured DTMIterator

Method Details

detach

public void detach()
Detaches the NodeIterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.

getDTMIterator

public DTMIterator getDTMIterator()
Access the wrapped DTMIterator. I'm not sure whether anyone will need this or not, but let's write it and think about it.

getExpandEntityReferences

public boolean getExpandEntityReferences()
The value of this flag determines whether the children of entity reference nodes are visible to the iterator.
Returns:
false, always (the DTM model flattens entity references)

getFilter

public NodeFilter getFilter()
Return a handle to the filter used to screen nodes. This is ill-defined in Xalan's usage of Nodeiterator, where we have built stateful XPath-based filtering directly into the traversal object. We could return something which supports the NodeFilter interface and allows querying whether a given node would be permitted if it appeared as our next node, but in the current implementation that would be very complex -- and just isn't all that useful.

getRoot

public Node getRoot()
Returns:
The root node of the NodeIterator, as specified when it was created.

getWhatToShow

public int getWhatToShow()
Return a mask describing which node types are presented via the iterator.

nextNode

public Node nextNode()
            throws DOMException
Returns:
the next node in the set and advance the position of the iterator in the set.

previousNode

public Node previousNode()
Returns:
the next previous in the set and advance the position of the iterator in the set.

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