Package net.sf.saxon.tree.util

## Class Navigator.PrecedingEnumeration

- java.lang.Object
- - net.sf.saxon.tree.util.Navigator.PrecedingEnumeration

- All Implemented Interfaces:
    `java.io.Closeable`, `java.lang.AutoCloseable`, `SequenceIterator`, `AxisIterator`, `UnfailingIterator`
  Enclosing class:
    Navigator

      public static final class Navigator.PrecedingEnumeration
      extends java.lang.Object
      implements AxisIterator

  Helper method to iterate over the preceding axis, or Saxon's internal preceding-or-ancestor axis, by making use of the ancestor, descendant, and preceding-sibling axes.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface net.sf.saxon.om.SequenceIterator

      `SequenceIterator.Property`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PrecedingEnumeration​(NodeInfo start, boolean includeAncestors)` | Create an iterator for the preceding or "preceding-or-ancestor" axis (the latter being used internall to support xsl:number)

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `NodeInfo` | `next()` | Get the next item in the sequence.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.tree.iter.AxisIterator

      `asIterator, forEachNode`

    - ### Methods inherited from interface net.sf.saxon.om.SequenceIterator

      `close, forEachOrFail, getProperties, materialize`

    - ### Methods inherited from interface net.sf.saxon.tree.iter.UnfailingIterator

      `forEach, toList`

- - ### Constructor Detail

    - #### PrecedingEnumeration

          public PrecedingEnumeration​(NodeInfo start,
                                      boolean includeAncestors)

      Create an iterator for the preceding or "preceding-or-ancestor" axis (the latter being used internall to support xsl:number)
      Parameters:
        `start` - the initial context node
        `includeAncestors` - true if ancestors of the initial context node are to be included in the result

  - ### Method Detail

    - #### next

          public final NodeInfo next()

      Description copied from interface: `UnfailingIterator`
      Get the next item in the sequence.
      Specified by:
        `next` in interface `AxisIterator`
      Specified by:
        `next` in interface `SequenceIterator`
      Specified by:
        `next` in interface `UnfailingIterator`
      Returns:
        the next Item. If there are no more items, return null.