net.sf.saxon.evpull

Class BlockEventIterator

Implemented Interfaces:
EventIterator, PullEvent

public class BlockEventIterator
extends java.lang.Object
implements EventIterator

Iterate over the instructions in a Block, concatenating the result of each instruction into a single combined sequence.

Constructor Summary

BlockEventIterator(Expression[] children, XPathContext context)
Create an EventIterator over the results of evaluating a Block

Method Summary

boolean
isFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
PullEvent
next()
Get the next item in the sequence.

Constructor Details

BlockEventIterator

public BlockEventIterator(Expression[] children,
                          XPathContext context)
Create an EventIterator over the results of evaluating a Block
Parameters:
children - the sequence of instructions comprising the Block
context - the XPath dynamic context

Method Details

isFlatSequence

public boolean isFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
Specified by:
isFlatSequence in interface EventIterator
Returns:
true if the next() method is guaranteed never to return an EventIterator

next

public PullEvent next()
            throws XPathException
Get the next item in the sequence.
Specified by:
next in interface EventIterator
Returns:
the next item, or null if there are no more items.
Throws:
XPathException - if an error occurs retrieving the next item