net.sf.saxon.om
Class Navigator.PrecedingEnumeration
java.lang.Object
net.sf.saxon.om.AxisIteratorImpl
net.sf.saxon.om.Navigator.BaseEnumeration
net.sf.saxon.om.Navigator.PrecedingEnumeration
- All Implemented Interfaces:
- AxisIterator, SequenceIterator, UnfailingIterator
- Enclosing class:
- Navigator
public static final class Navigator.PrecedingEnumeration
- extends Navigator.BaseEnumeration
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.
Constructor Summary |
Navigator.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 |
void |
advance()
The advance() method must be provided in each concrete implementation. |
SequenceIterator |
getAnother()
Get another SequenceIterator that iterates over the same items as the original,
but which is repositioned at the start of the sequence. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Navigator.PrecedingEnumeration
public Navigator.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 nodeincludeAncestors
- true if ancestors of the initial context node are to be included
in the result
advance
public void advance()
- Description copied from class:
Navigator.BaseEnumeration
- The advance() method must be provided in each concrete implementation.
It must leave the variable current set to the next node to be returned in the
iteration, or to null if there are no more nodes to be returned.
- Specified by:
advance
in class Navigator.BaseEnumeration
getAnother
public SequenceIterator getAnother()
- Description copied from interface:
SequenceIterator
- Get another SequenceIterator that iterates over the same items as the original,
but which is repositioned at the start of the sequence.
This method allows access to all the items in the sequence without disturbing the
current position of the iterator. Internally, its main use is in evaluating the last()
function.
This method does not change the state of the iterator.
- Specified by:
getAnother
in interface SequenceIterator
- Specified by:
getAnother
in interface UnfailingIterator
- Specified by:
getAnother
in class Navigator.BaseEnumeration
- Returns:
- a SequenceIterator that iterates over the same items,
positioned before the first item
Copyright (c) Saxonica Limited. All rights reserved.