Xerces-C++: DOMNodeIterator Class Reference

Xerces-C++ 3.3.0

List of all members
DOMNodeIterator Class Referenceabstract

`DOMNodeIterators` are used to step through a set of nodes, e.g. More...

`#include <xercesc/dom/DOMNodeIterator.hpp>`

## Public Member Functions
Destructor
virtual | ~DOMNodeIterator ()
| Destructor.
Functions introduced in DOM Level 2
virtual DOMNode * | getRoot ()=0
| The `root` node of the `DOMNodeIterator`, as specified when it was created.
virtual DOMNodeFilter::ShowType | getWhatToShow ()=0
| Return which node types are presented via the iterator.
virtual DOMNodeFilter * | getFilter ()=0
| The `DOMNodeFilter` used to screen nodes.
virtual bool | getExpandEntityReferences ()=0
| Return the expandEntityReferences flag.
virtual DOMNode * | nextNode ()=0
| Returns the next node in the set and advances the position of the `DOMNodeIterator` in the set.
virtual DOMNode * | previousNode ()=0
| Returns the previous node in the set and moves the position of the `DOMNodeIterator` backwards in the set.
virtual void | detach ()=0
| Detaches the `DOMNodeIterator` from the set which it iterated over, releasing any computational resources and placing the `DOMNodeIterator` in the INVALID state.
Non-standard Extension
virtual void | release ()=0
| Called to indicate that this NodeIterator is no longer in use and that the implementation may relinquish any resources associated with it.

## Protected Member Functions
Hidden constructors
| DOMNodeIterator ()
| DOMNodeIterator (const DOMNodeIterator &)

## Detailed Description

`DOMNodeIterators` are used to step through a set of nodes, e.g.

the set of nodes in a `DOMNodeList`, the document subtree governed by a particular `DOMNode`, 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 `DOMNodeIterator`. DOM Level 2 specifies a single `DOMNodeIterator` implementation for document-order traversal of a document subtree. Instances of these `DOMNodeIterators` are created by calling `DOMDocumentTraversal``.createNodeIterator()`.

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification.

Since
  DOM Level 2

## Constructor & Destructor Documentation

## ◆ DOMNodeIterator() [1/2]

DOMNodeIterator::DOMNodeIterator | ( |  | ) |
| protected

## ◆ DOMNodeIterator() [2/2]

DOMNodeIterator::DOMNodeIterator | ( | const DOMNodeIterator & |  | ) |
| protected

## ◆ ~DOMNodeIterator()

virtual DOMNodeIterator::~DOMNodeIterator | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ detach()

virtual void DOMNodeIterator::detach | ( |  | ) |
| pure virtual

Detaches the `DOMNodeIterator` from the set which it iterated over, releasing any computational resources and placing the `DOMNodeIterator` in the INVALID state.

After `detach` has been invoked, calls to `nextNode` or `previousNode` will raise the exception INVALID_STATE_ERR.

Since
  DOM Level 2

## ◆ getExpandEntityReferences()

virtual bool DOMNodeIterator::getExpandEntityReferences | ( |  | ) |
| pure virtual

Return the expandEntityReferences flag.

The value of this flag determines whether the children of entity reference nodes are visible to the `DOMNodeIterator`. If false, these children and their descendants will be rejected. Note that this rejection takes precedence over `whatToShow` and the filter. Also note that this is currently the only situation where `DOMNodeIterators` 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 the `whatToShow` flags to hide the entity reference node and set `expandEntityReferences` to true when creating the `DOMNodeIterator`. To produce a view of the document that has entity reference nodes but no entity expansion, use the `whatToShow` flags to show the entity reference node and set `expandEntityReferences` to false.

Since
  DOM Level 2

## ◆ getFilter()

virtual DOMNodeFilter * DOMNodeIterator::getFilter | ( |  | ) |
| pure virtual

The `DOMNodeFilter` used to screen nodes.

Since
  DOM Level 2

## ◆ getRoot()

virtual DOMNode * DOMNodeIterator::getRoot | ( |  | ) |
| pure virtual

The `root` node of the `DOMNodeIterator`, as specified when it was created.

Since
  DOM Level 2

## ◆ getWhatToShow()

virtual DOMNodeFilter::ShowType DOMNodeIterator::getWhatToShow | ( |  | ) |
| pure virtual

Return which node types are presented via the iterator.

This attribute determines which node types are presented via the `DOMNodeIterator`. The available set of constants is defined in the `DOMNodeFilter` interface. Nodes not accepted by `whatToShow` will be skipped, but their children may still be considered. Note that this skip takes precedence over the filter, if any.

Since
  DOM Level 2

## ◆ nextNode()

virtual DOMNode * DOMNodeIterator::nextNode | ( |  | ) |
| pure virtual

Returns the next node in the set and advances the position of the `DOMNodeIterator` in the set.

After a `DOMNodeIterator` is created, the first call to `nextNode()` returns the first node in the set.

Returns
  The next `DOMNode` in the set being iterated over, or `null` if there are no more members in that set.

Exceptions

  DOMException | INVALID_STATE_ERR: Raised if this method is called after the `detach` method was invoked.

Since
  DOM Level 2

## ◆ previousNode()

virtual DOMNode * DOMNodeIterator::previousNode | ( |  | ) |
| pure virtual

Returns the previous node in the set and moves the position of the `DOMNodeIterator` backwards in the set.

Returns
  The previous `DOMNode` in the set being iterated over, or `null` if there are no more members in that set.

Exceptions

  DOMException | INVALID_STATE_ERR: Raised if this method is called after the `detach` method was invoked.

Since
  DOM Level 2

## ◆ release()

virtual void DOMNodeIterator::release | ( |  | ) |
| pure virtual

Called to indicate that this NodeIterator is no longer in use and that the implementation may relinquish any resources associated with it.

(release() will call detach() where appropriate)

Access to a released object will lead to unexpected result.

The documentation for this class was generated from the following file:

- DOMNodeIterator.hpp