Class DTMNodeIterator

java.lang.Object
org.htmlunit.xpath.xml.dtm.ref.DTMNodeIterator
All Implemented Interfaces:
org.w3c.dom.traversal.NodeIterator

public class DTMNodeIterator extends 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!!

  • Field Details

    • dtm_iter

      private final DTMIterator dtm_iter
    • valid

      private boolean valid
  • Constructor Details

    • DTMNodeIterator

      public DTMNodeIterator(DTMIterator dtmIterator)
      Public constructor: Wrap a DTMNodeIterator around an existing and preconfigured DTMIterator
      Parameters:
      dtmIterator - the iterator to be cloned
  • Method Details

    • detach

      public void detach()
      Specified by:
      detach in interface org.w3c.dom.traversal.NodeIterator
    • getExpandEntityReferences

      public boolean getExpandEntityReferences()
      Specified by:
      getExpandEntityReferences in interface org.w3c.dom.traversal.NodeIterator
    • getFilter

      public org.w3c.dom.traversal.NodeFilter getFilter()
      Specified by:
      getFilter in interface org.w3c.dom.traversal.NodeIterator
    • getRoot

      public Node getRoot()
      Specified by:
      getRoot in interface org.w3c.dom.traversal.NodeIterator
    • getWhatToShow

      public int getWhatToShow()
      Specified by:
      getWhatToShow in interface org.w3c.dom.traversal.NodeIterator
    • nextNode

      public Node nextNode() throws DOMException
      Specified by:
      nextNode in interface org.w3c.dom.traversal.NodeIterator
      Throws:
      DOMException
    • previousNode

      public Node previousNode()
      Specified by:
      previousNode in interface org.w3c.dom.traversal.NodeIterator