net.sf.saxon.expr
Class SubsequenceIterator
java.lang.Object
net.sf.saxon.expr.SubsequenceIterator
- LastPositionFinder, LookaheadIterator, SequenceIterator
public class SubsequenceIterator
extends java.lang.Object
A SubsequenceIterator selects a subsequence of a sequence
getLastPosition
public int getLastPosition()
throws XPathException
Get the last position (that is, the number of items in the sequence). This method is
non-destructive: it does not change the state of the iterator.
The result is undefined if the next() method of the iterator has already returned null.
This method must not be called unless the result of getProperties() on the iterator
includes the bit setting
SequenceIterator.LAST_POSITION_FINDER
- getLastPosition in interface LastPositionFinder
getProperties
public int getProperties()
Get properties of this iterator, as a bit-significant integer.
- getProperties in interface SequenceIterator
hasNext
public boolean hasNext()
Test whether there are any more items available in the sequence
- hasNext in interface LookaheadIterator
make
public static SequenceIterator make(SequenceIterator base,
int min,
int max)
throws XPathException
Static factory method. Creates a SubsequenceIterator, unless for example the base Iterator is an
ArrayIterator, in which case it optimizes by creating a new ArrayIterator directly over the
underlying array. This optimization is important when doing recursion over a node-set using
repeated calls of $nodes[position()>1]
base
- An iteration of the items to be filteredmin
- The position of the first item to be included (base 1)max
- The position of the last item to be included (base 1)
- an iterator over the requested subsequence