net.sf.saxon.evpull

Class BracketedDocumentIterator

Implemented Interfaces:
EventIterator, PullEvent

public class BracketedDocumentIterator
extends java.lang.Object
implements EventIterator

The class is an EventIterator that handles the events arising from a document node constructor: that is, the start/end event pair for the document node, bracketing a sequence of events for the content of the document.

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

Constructor Summary

BracketedDocumentIterator(StartDocumentEvent start, EventIterator content, EndDocumentEvent 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

Constructor Details

BracketedDocumentIterator

public BracketedDocumentIterator(StartDocumentEvent start,
                                 EventIterator content,
                                 EndDocumentEvent end)
Constructor
Parameters:
start - the StartDocumentEvent object
content - iterator that delivers the content of the element
end - the EndElementEvent or EndDocumentEvent object

Method Details

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

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