org.apache.xml.dtm.ref
Class DTMNodeIterator
java.lang.Object
org.apache.xml.dtm.ref.DTMNodeIterator
- 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:
- If there are several Text nodes in logical succession (ie,
across CDATASection and EntityReference boundaries), we will return
only the first; the caller is responsible for stepping through
them.
(%REVIEW% Provide a convenience routine here to assist, pending
proposed DOM Level 3 getAdjacentText() operation?)
- Since the whole XPath/XSLT architecture assumes that the source
document is not altered while we're working with it, we do not
promise to implement the DOM NodeIterator's "maintain current
position" response to document mutation.
- Since our design for XPath NodeIterators builds a stateful
filter directly into the traversal object, getNodeFilter() is not
supported.
State: In progress!!
DTMNodeIterator(DTMIterator dtmIterator) - Public constructor: Wrap a DTMNodeIterator around an existing
and preconfigured DTMIterator
|
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()
|
DTMNodeIterator
public DTMNodeIterator(DTMIterator dtmIterator)
Public constructor: Wrap a DTMNodeIterator around an existing
and preconfigured DTMIterator
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.
- 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()
- 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
- the next node in the set and advance the position of the
iterator in the set.
previousNode
public Node previousNode()
- 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.