## net.sf.saxon.evpull
Class BracketedElementIterator

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

All Implemented Interfaces:
  EventIterator, PullEvent

    public class BracketedElementIterator

extends java.lang.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
`BracketedElementIterator(PullEvent start, EventIterator content, PullEvent end)` Constructor

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

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

Constructor Detail

### BracketedElementIterator

    public BracketedElementIterator(PullEvent start,
                                    EventIterator content,
                                    PullEvent 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) Saxonica Limited. All rights reserved.