public interface NodeIterator
NodeIterators
are used to step through a set of nodes, e.g.
the set of nodes in a NodeList
, the document subtree
governed by a particular Node
, the results of a query, or
any other set of nodes. The set of nodes to be iterated is determined by
the implementation of the NodeIterator
. DOM Level 2
specifies a single NodeIterator
implementation for
document-order traversal of a document subtree. Instances of these
NodeIterators
are created by calling
DocumentTraversal
.createNodeIterator()
.
See also the Document Object Model (DOM) Level 2 Traversal and Range Specification.
- Since:
- 9, DOM Level 2
-
Method Summary
Modifier and Type Method Description void
detach()
Detaches theNodeIterator
from the set which it iterated over, releasing any computational resources and placing theNodeIterator
in the INVALID state.boolean
getExpandEntityReferences()
The value of this flag determines whether the children of entity reference nodes are visible to theNodeIterator
.NodeFilter
getFilter()
TheNodeFilter
used to screen nodes.Node
getRoot()
The root node of theNodeIterator
, as specified when it was created.int
getWhatToShow()
This attribute determines which node types are presented via theNodeIterator
.Node
nextNode()
Returns the next node in the set and advances the position of theNodeIterator
in the set.Node
previousNode()
Returns the previous node in the set and moves the position of theNodeIterator
backwards in the set.
-
Method Details
-
getRoot
Node getRoot()The root node of theNodeIterator
, as specified when it was created. -
getWhatToShow
int getWhatToShow()This attribute determines which node types are presented via theNodeIterator
. The available set of constants is defined in theNodeFilter
interface. Nodes not accepted bywhatToShow
will be skipped, but their children may still be considered. Note that this skip takes precedence over the filter, if any. -
getFilter
NodeFilter getFilter()TheNodeFilter
used to screen nodes. -
getExpandEntityReferences
boolean getExpandEntityReferences()The value of this flag determines whether the children of entity reference nodes are visible to theNodeIterator
. If false, these children and their descendants will be rejected. Note that this rejection takes precedence overwhatToShow
and the filter. Also note that this is currently the only situation whereNodeIterators
may reject a complete subtree rather than skipping individual nodes.
To produce a view of the document that has entity references expanded and does not expose the entity reference node itself, use thewhatToShow
flags to hide the entity reference node and setexpandEntityReferences
to true when creating theNodeIterator
. To produce a view of the document that has entity reference nodes but no entity expansion, use thewhatToShow
flags to show the entity reference node and setexpandEntityReferences
to false. -
nextNode
Returns the next node in the set and advances the position of theNodeIterator
in the set. After aNodeIterator
is created, the first call tonextNode()
returns the first node in the set.- Returns:
- The next
Node
in the set being iterated over, ornull
if there are no more members in that set. - Throws:
DOMException
- INVALID_STATE_ERR: Raised if this method is called after thedetach
method was invoked.
-
previousNode
Returns the previous node in the set and moves the position of theNodeIterator
backwards in the set.- Returns:
- The previous
Node
in the set being iterated over, ornull
if there are no more members in that set. - Throws:
DOMException
- INVALID_STATE_ERR: Raised if this method is called after thedetach
method was invoked.
-
detach
void detach()Detaches theNodeIterator
from the set which it iterated over, releasing any computational resources and placing theNodeIterator
in the INVALID state. Afterdetach
has been invoked, calls tonextNode
orpreviousNode
will raise the exception INVALID_STATE_ERR.
-