net.sf.saxon.tree.util
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
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. |
AxisIterator |
getAnother()
Get another iterator over the same sequence of items, positioned 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 AxisIterator getAnother()
- Description copied from interface:
UnfailingIterator
- Get 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:
getAnother
in interface SequenceIterator
- Specified by:
getAnother
in interface AxisIterator
- Specified by:
getAnother
in interface UnfailingIterator
- Specified by:
getAnother
in class Navigator.BaseEnumeration
- Returns:
- a new iterator over the same sequence
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.