com.icl.saxon.om

## Interface NodeEnumeration

- All Known Subinterfaces:
    AxisEnumeration
  All Known Implementing Classes:
    DifferenceEnumeration, DistinctEnumeration, EmptyEnumeration, FilterEnumerator, GroupActivation, IntersectionEnumeration, LookaheadEnumerator, PrependIterator, SingletonEnumeration, SortKeyEnumeration, UnionEnumeration

      public interface NodeEnumeration

  A NodeEnumeration is used to iterate over a list of nodes. It is very similar to the standard Java Enumeration interface, except that it throws exceptions and returns NodeInfo objects rather than general Objects. It also has extra properties allowing the client to determine whether the nodes are in document order, etc.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `hasMoreElements()` Determine whether there are more nodes to come.
    `boolean` | `isPeer()` Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node.
    `boolean` | `isReverseSorted()` Determine whether the nodes returned by this enumeration are known to be in reverse document order.
    `boolean` | `isSorted()` Determine whether the nodes returned by this enumeration are known to be in document order
    `NodeInfo` | `nextElement()` Get the next node in sequence.

- - ### Method Detail

    - #### hasMoreElements

          boolean hasMoreElements()

      Determine whether there are more nodes to come.
      (Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
      Returns:
        true if there are more nodes

    - #### nextElement

          NodeInfo nextElement()
                               throws XPathException

      Get the next node in sequence.
      (Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
      Returns:
        the next NodeInfo
      Throws:
        `XPathException`

    - #### isSorted

          boolean isSorted()

      Determine whether the nodes returned by this enumeration are known to be in document order
      Returns:
        true if the nodes are guaranteed to be in document order.

    - #### isReverseSorted

          boolean isReverseSorted()

      Determine whether the nodes returned by this enumeration are known to be in reverse document order.
      Returns:
        true if the nodes are guaranteed to be in document order.

    - #### isPeer

          boolean isPeer()

      Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.