net.sf.saxon.expr

Class MappingIterator

public final class MappingIterator extends Object implements SequenceIterator

MappingIterator merges a sequence of sequences into a single flat sequence. It takes as inputs an iteration, and a mapping function to be applied to each Item returned by that iteration. The mapping function itself returns another iteration. The result is an iteration of the concatenation of all the iterations returned by the mapping function.

This is a powerful class. It is used, with different mapping functions, in a great variety of ways. It underpins the way that "for" expressions and path expressions are evaluated, as well as sequence expressions. It is also used in the implementation of the document(), key(), and id() functions.

Constructor Summary
MappingIterator(SequenceIterator base, MappingFunction action)
Construct a MappingIterator that will apply a specified MappingFunction to each Item returned by the base iterator.
Method Summary
voidclose()
Itemcurrent()
SequenceIteratorgetAnother()
intgetProperties()
Get properties of this iterator, as a bit-significant integer.
Itemnext()
intposition()

Constructor Detail

MappingIterator

public MappingIterator(SequenceIterator base, MappingFunction action)
Construct a MappingIterator that will apply a specified MappingFunction to each Item returned by the base iterator.

Parameters: base the base iterator action the mapping function to be applied

Method Detail

close

public void close()

current

public Item current()

getAnother

public SequenceIterator getAnother()

getProperties

public int getProperties()
Get properties of this iterator, as a bit-significant integer.

Returns: the properties of this iterator. This will be some combination of properties such as GROUNDED, LAST_POSITION_FINDER, and LOOKAHEAD. It is always acceptable to return the value zero, indicating that there are no known special properties. It is acceptable for the properties of the iterator to change depending on its state.

next

public Item next()

position

public int position()