Class BracketedElementIterator

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

public class BracketedElementIterator extends Object implements EventIterator
The class is an EventIterator that handles the events arising from an element constructor: that is, the start/end event pair for the element node, bracketing a sequence of events for the content of the element.

This class does not normalize the content (for example by merging adjacent text nodes). That is the job of the ComplexContentProcessor.

The event stream consumed by a BracketedElementIterator may contain freestanding attribute and namespace nodes. The event stream delivered by a BracketedElementIterator, however, packages all attributes and namespaces as part of the startElement event.

  • Constructor Details

    • BracketedElementIterator

      public BracketedElementIterator(StartElementEvent start, EventIterator content, EndElementEvent end)
      Constructor
      Parameters:
      start - the StartElementEvent object
      content - iterator that delivers the content of the element
      end - the EndElementEvent object
  • Method Details

    • next

      public PullEvent next() throws XPathException
      Get the next event in the sequence
      Specified by:
      next in interface EventIterator
      Returns:
      the next event, or null when the sequence is exhausted
      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