net.sf.saxon.evpull

Class PullEventTracer

Implemented Interfaces:
EventIterator, PullEvent

public class PullEventTracer
extends java.lang.Object
implements EventIterator

Diagnostic class to display the sequence of events reported by an EventIterator

Constructor Summary

PullEventTracer(EventIterator base, Configuration config)
Create a tracer for pull events

Method Summary

boolean
isFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
static void
main(String[] args)
Main method for testing only
PullEvent
next()
Get the next event in the sequence

Constructor Details

PullEventTracer

public PullEventTracer(EventIterator base,
                       Configuration config)
Create a tracer for pull events
Parameters:
base - the event iterator whose events are to be traced
config - the Saxon configuration

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

main

public static void main(String[] args)
            throws Exception
Main method for testing only
Parameters:
args - not used

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. Note that since an EventIterator is itself a PullEvent, this method may return a nested iterator.
Throws:
XPathException - if a dynamic evaluation error occurs