net.sf.saxon.evpull

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

    Constructors
    Constructor and Description
    `BracketedElementIterator(StartElementEvent start, EventIterator content, EndElementEvent end)` Constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

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

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

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.