| java.lang.Object org.apache.xml.dtm.ref.DTMNodeIterator
DTMNodeIterator | public class DTMNodeIterator implements org.w3c.dom.traversal.NodeIterator(Code) | | 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!!
|
Method Summary | |
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. | public DTMIterator | getDTMIterator() Access the wrapped DTMIterator. | public boolean | getExpandEntityReferences() The value of this flag determines whether the children
of entity reference nodes are visible to the iterator. | 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. | public Node | getRoot() | public int | getWhatToShow() Return a mask describing which node types are presented via the
iterator. | public Node | nextNode() | public Node | previousNode() |
DTMNodeIterator | public DTMNodeIterator(DTMIterator dtmIterator)(Code) | | Public constructor: Wrap a DTMNodeIterator around an existing
and preconfigured DTMIterator
|
detach | public void detach()(Code) | | 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()(Code) | | 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()(Code) | | 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()(Code) | | 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.
throws: DOMException - -- NOT_SUPPORTED_ERROR because I can't thinkof anything more useful to do in this case |
getRoot | public Node getRoot()(Code) | | The root node of the NodeIterator, as specifiedwhen it was created. |
getWhatToShow | public int getWhatToShow()(Code) | | Return a mask describing which node types are presented via the
iterator.
|
nextNode | public Node nextNode() throws DOMException(Code) | | the next node in the set and advance the position of theiterator in the set. throws: DOMException - - INVALID_STATE_ERR Raised if this method iscalled after the detach method was invoked. |
previousNode | public Node previousNode()(Code) | | the next previous in the set and advance the position of theiterator in the set. throws: DOMException - - INVALID_STATE_ERR Raised if this method iscalled after the detach method was invoked. |
|
|