Class PrecedingEnumeration

java.lang.Object
com.icl.saxon.tinytree.PrecedingEnumeration
All Implemented Interfaces:
LastPositionFinder, AxisEnumeration, NodeEnumeration

final class PrecedingEnumeration extends Object implements AxisEnumeration
Enumerate all the nodes on the preceding axis from a given start node. The calling code ensures that the start node is not a root, attribute, or namespace node. As well as the standard XPath preceding axis, this class also implements a Saxon-specific "preceding-or-ancestor" axis which returns ancestor nodes as well as preceding nodes. This is used when performing xsl:number level="any".
  • Field Details

    • document

    • startNode

      TinyNodeImpl startNode
    • test

      NodeTest test
    • nextNodeNr

      int nextNodeNr
    • nextAncestorDepth

      int nextAncestorDepth
    • includeAncestors

      boolean includeAncestors
    • last

      int last
  • Constructor Details

  • Method Details

    • hasMoreElements

      public boolean hasMoreElements()
      Description copied from interface: AxisEnumeration
      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).
      Specified by:
      hasMoreElements in interface AxisEnumeration
      Specified by:
      hasMoreElements in interface NodeEnumeration
      Returns:
      true if there are more nodes
    • nextElement

      public NodeInfo nextElement()
      Description copied from interface: AxisEnumeration
      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).
      Specified by:
      nextElement in interface AxisEnumeration
      Specified by:
      nextElement in interface NodeEnumeration
      Returns:
      the next NodeInfo
    • isSorted

      public boolean isSorted()
      Description copied from interface: NodeEnumeration
      Determine whether the nodes returned by this enumeration are known to be in document order
      Specified by:
      isSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isReverseSorted

      public boolean isReverseSorted()
      Description copied from interface: NodeEnumeration
      Determine whether the nodes returned by this enumeration are known to be in reverse document order.
      Specified by:
      isReverseSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isPeer

      public boolean isPeer()
      Description copied from interface: NodeEnumeration
      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.
      Specified by:
      isPeer in interface NodeEnumeration
    • getLastPosition

      public int getLastPosition()
      Get the last position, that is the number of nodes in the enumeration
      Specified by:
      getLastPosition in interface AxisEnumeration
      Specified by:
      getLastPosition in interface LastPositionFinder