## net.sf.saxon.evpull
Class BlockEventIterator

    java.lang.Object
      net.sf.saxon.evpull.BlockEventIterator

All 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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 Detail

### 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

### 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

Copyright (c) Saxonica Limited. All rights reserved.