net.sf.saxon.evpull

Class ComplexContentProcessor

public class ComplexContentProcessor extends Object implements EventIterator

The ComplexContentProcessor is an EventIterator that deals with the events occurring between a startElement and endElement (or startDocument and endDocument) according to the XSLT/XQuery rules for constructing complex content. This includes:

Note that if the content includes nodes such as element nodes, these will not be decomposed into a sequence of tree events, they will simply be returned as nodes.

Constructor Summary
ComplexContentProcessor(Configuration config, EventIterator base)
Create the ComplexContentProcessor
Method Summary
booleanisFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
PullEventnext()
Get the next event in the sequence.

Constructor Detail

ComplexContentProcessor

public ComplexContentProcessor(Configuration config, EventIterator base)
Create the ComplexContentProcessor

Parameters: config the Saxon Configuration base the EventIterator that delivers the content of the element or document node

Method Detail

isFlatSequence

public boolean isFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators

Returns: true if the next() method is guaranteed never to return an EventIterator

next

public PullEvent next()
Get the next event in the sequence. This will never be an EventIterator.

Returns: the next event, or null when the sequence is exhausted

Throws: net.sf.saxon.trans.XPathException if a dynamic evaluation error occurs