Class EventMappingIterator

java.lang.Object
net.sf.saxon.evpull.EventMappingIterator
All Implemented Interfaces:
EventIterator, PullEvent

public final class EventMappingIterator extends Object implements EventIterator
MappingIterator merges a sequence of sequences into a single 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 iterators. To convert this int a single flat iterator over a uniform sequence of events, the result must be wrapped in an EventStackIterator

  • Constructor Details

    • EventMappingIterator

      public EventMappingIterator(SequenceIterator base, EventMappingFunction 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 Details

    • next

      public PullEvent next() throws XPathException
      Description copied from interface: EventIterator
      Get the next event in the sequence
      Specified by:
      next in interface EventIterator
      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

      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