## net.sf.saxon.evpull
Interface EventIterator

All Superinterfaces:
  PullEvent

All Known Implementing Classes:
  BlockEventIterator, BracketedDocumentIterator, BracketedElementIterator, ComplexContentProcessor, Decomposer, EmptyEventIterator, EventAnnotationStripper, EventIteratorOverSequence, EventMappingIterator, EventStackIterator, NamespaceMaintainer, PullEventTracer, SingletonEventIterator, StaxToEventBridge, TinyTreeEventIterator, TracingEventIterator

    public interface EventIterator

extends PullEvent

An iterator over a sequence of events

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 event in the sequence

Method Detail

### next

    PullEvent next()
                   throws XPathException

  Get the next event in the sequence

  Returns:
    the next event, or null when the sequence is exhausted. Note that since an EventIterator is itself a PullEvent, this method may return a nested iterator.
  Throws:
    `XPathException` - if a dynamic evaluation error occurs

### isFlatSequence

    boolean isFlatSequence()

  Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators

  Returns:
    true if the next() method is guaranteed never to return an EventIterator

Copyright (c) Saxonica Limited. All rights reserved.