net.sf.saxon.pull
Class PullPushTee
java.lang.Object
net.sf.saxon.pull.PullFilter
net.sf.saxon.pull.PullPushTee
- All Implemented Interfaces:
- PullProvider
public class PullPushTee
- extends PullFilter
PullPushTee is a pass-through filter class that links one PullProvider to another PullProvider
in a pipeline, copying all events that are read into a push pipeline, supplied in the form
of a Receiver.
This class can be used to insert a schema validator into a pull pipeline, since Saxon's schema
validation is push-based. It could also be used to insert a serializer into the pipeline, allowing
the XML document being "pulled" to be displayed for diagnostic purposes.
Fields inherited from interface net.sf.saxon.pull.PullProvider |
ATOMIC_VALUE, ATTRIBUTE, COMMENT, END_DOCUMENT, END_ELEMENT, END_OF_INPUT, NAMESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_ELEMENT, START_OF_INPUT, TEXT |
Method Summary |
Receiver |
getReceiver()
Get the Receiver to which events are being tee'd. |
int |
next()
Get the next event. |
Methods inherited from class net.sf.saxon.pull.PullFilter |
close, current, getAtomicValue, getAttributes, getFingerprint, getNameCode, getNamePool, getNamespaceDeclarations, getPipelineConfiguration, getSchemaType, getSourceLocator, getStringValue, getUnderlyingProvider, getUnparsedEntities, setPipelineConfiguration, skipToMatchingEnd |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PullPushTee
public PullPushTee(PullProvider base,
Receiver branch)
throws XPathException
- Create a PullPushTee
- Parameters:
base
- the PullProvider to which requests are to be passedbranch
- the Receiver to which all events are to be copied, as "push" events.
This Receiver must already be open before use
- Throws:
XPathException
getReceiver
public Receiver getReceiver()
- Get the Receiver to which events are being tee'd.
- Returns:
- the Receiver
next
public int next()
throws XPathException
- Get the next event. This implementation gets the next event from the underlying PullProvider,
copies it to the branch Receiver, and then returns the event to the caller.
- Specified by:
next
in interface PullProvider
- Overrides:
next
in class PullFilter
- Returns:
- an integer code indicating the type of event. The code
PullProvider.END_OF_INPUT
is returned at the end of the sequence.
- Throws:
XPathException
- if a dynamic error occurs
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.