net.sf.saxon.evpull
Class ComplexContentProcessor

java.lang.Object
  extended by net.sf.saxon.evpull.ComplexContentProcessor
All Implemented Interfaces:
EventIterator, PullEvent

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)
           
 
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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexContentProcessor

public ComplexContentProcessor(Configuration config,
                               EventIterator base)
Method Detail

next

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

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) Michael H. Kay. All rights reserved.