Class Navigator.PrecedingEnumeration
java.lang.Object
net.sf.saxon.tree.iter.AxisIteratorImpl
net.sf.saxon.tree.util.Navigator.BaseEnumeration
net.sf.saxon.tree.util.Navigator.PrecedingEnumeration
- All Implemented Interfaces:
SequenceIterator, AxisIterator, UnfailingIterator
- Enclosing class:
Navigator
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.
- Author:
- Michael H. Kay
-
Field Summary
Fields inherited from class AxisIteratorImpl
current, positionFields inherited from interface SequenceIterator
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD -
Constructor Summary
ConstructorsConstructorDescriptionPrecedingEnumeration(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
Modifier and TypeMethodDescriptionvoidadvance()The advance() method must be provided in each concrete implementation.Get another iterator over the same sequence of items, positioned at the start of the sequence.Methods inherited from class Navigator.BaseEnumeration
nextMethods inherited from class AxisIteratorImpl
atomize, close, current, getProperties, getStringValue, iterateAxis, moveNext, position
-
Constructor Details
-
PrecedingEnumeration
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
-
-
Method Details
-
advance
public void advance()Description copied from class:Navigator.BaseEnumerationThe 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:
advancein classNavigator.BaseEnumeration
-
getAnother
Description copied from interface:UnfailingIteratorGet another iterator over the same sequence of items, positioned at the start of the sequence. It must be possible to call this method at any time, whether none, some, or all of the items in the original iterator have been read. The method is non-destructive: it does not change the state of the original iterator.- Specified by:
getAnotherin interfaceAxisIterator- Specified by:
getAnotherin interfaceSequenceIterator- Specified by:
getAnotherin interfaceUnfailingIterator- Specified by:
getAnotherin classNavigator.BaseEnumeration- Returns:
- a new iterator over the same sequence
-