public interface NodeFilter
NodeIterator
or TreeWalker
is given a NodeFilter
, it applies the filter before it returns the next node. If the filter says to accept the node, the traversal logic returns it; otherwise, traversal looks for the next node and pretends that the node that was rejected was not there.
The DOM does not provide any filters. NodeFilter
is just an interface that users can implement to provide their own filters.
NodeFilters
do not need to know how to traverse from node to node, nor do they need to know anything about the data structure that is being traversed. This makes it very easy to write filters, since the only thing they have to know how to do is evaluate a single node. One filter may be used with a number of different kinds of traversals, encouraging code reuse.
See also the Document Object Model (DOM) Level 2 Traversal and Range Specification.
Modifier and Type | Field and Description |
---|---|
static short |
FILTER_ACCEPT
Accept the node.
|
static short |
FILTER_REJECT
Reject the node.
|
static short |
FILTER_SKIP
Skip this single node.
|
static int |
SHOW_ALL
Show all
Nodes . |
static int |
SHOW_ATTRIBUTE
Show
Attr nodes. |
static int |
SHOW_CDATA_SECTION
Show
CDATASection nodes. |
static int |
SHOW_COMMENT
Show
Comment nodes. |
static int |
SHOW_DOCUMENT
Show
Document nodes. |
static int |
SHOW_DOCUMENT_FRAGMENT
Show
DocumentFragment nodes. |
static int |
SHOW_DOCUMENT_TYPE
Show
DocumentType nodes. |
static int |
SHOW_ELEMENT
Show
Element nodes. |
static int |
SHOW_ENTITY
Show
Entity nodes. |
static int |
SHOW_ENTITY_REFERENCE
Show
EntityReference nodes. |
static int |
SHOW_NOTATION
Show
Notation nodes. |
static int |
SHOW_PROCESSING_INSTRUCTION
Show
ProcessingInstruction nodes. |
static int |
SHOW_TEXT
Show
Text nodes. |
Modifier and Type | Method and Description |
---|---|
short |
acceptNode(Node n)
Test whether a specified node is visible in the logical view of a
TreeWalker or NodeIterator . |
static final short FILTER_ACCEPT
NodeIterator
or TreeWalker
will return this node.static final short FILTER_REJECT
NodeIterator
or TreeWalker
will not return this node. For TreeWalker
, the children of this node will also be rejected. NodeIterators
treat this as a synonym for FILTER_SKIP
.static final short FILTER_SKIP
NodeIterator
or TreeWalker
will not return this node. For both NodeIterator
and TreeWalker
, the children of this node will still be considered.static final int SHOW_ALL
Nodes
.static final int SHOW_ELEMENT
Element
nodes.static final int SHOW_ATTRIBUTE
Attr
nodes. This is meaningful only when creating an iterator or tree-walker with an attribute node as its root
; in this case, it means that the attribute node will appear in the first position of the iteration or traversal. Since attributes are never children of other nodes, they do not appear when traversing over the document tree.static final int SHOW_TEXT
Text
nodes.static final int SHOW_CDATA_SECTION
CDATASection
nodes.static final int SHOW_ENTITY_REFERENCE
EntityReference
nodes.static final int SHOW_ENTITY
Entity
nodes. This is meaningful only when creating an iterator or tree-walker with an Entity
node as its root
; in this case, it means that the Entity
node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.static final int SHOW_PROCESSING_INSTRUCTION
ProcessingInstruction
nodes.static final int SHOW_COMMENT
Comment
nodes.static final int SHOW_DOCUMENT
Document
nodes.static final int SHOW_DOCUMENT_TYPE
DocumentType
nodes.static final int SHOW_DOCUMENT_FRAGMENT
DocumentFragment
nodes.static final int SHOW_NOTATION
Notation
nodes. This is meaningful only when creating an iterator or tree-walker with a Notation
node as its root
; in this case, it means that the Notation
node will appear in the first position of the traversal. Since notations are not part of the document tree, they do not appear when traversing over the document tree.short acceptNode(Node n)
TreeWalker
or NodeIterator
. This function will be called by the implementation of TreeWalker
and NodeIterator
; it is not normally called directly from user code. (Though you could do so if you wanted to use the same filter to guide your own application logic.)n
- The node to check to see if it passes the filter or not.