net.sf.saxon.evpull

Class EventAnnotationStripper

Implemented Interfaces:
EventIterator, PullEvent

public class EventAnnotationStripper
extends java.lang.Object
implements EventIterator

This class is an EventIterator that filters a stream of pull events setting the type annotation on element nodes to xs:untyped and on attribute nodes to xs:untypedAtomic

Constructor Summary

EventAnnotationStripper(EventIterator base)
Create an EventAnnotationStripper

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

EventAnnotationStripper

public EventAnnotationStripper(EventIterator base)
Create an EventAnnotationStripper
Parameters:
base - the stream of events whose type annotations are to be stripped (set to untyped)

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