Package net.sf.saxon.event
Class SequenceReceiver
java.lang.Object
net.sf.saxon.event.SequenceReceiver
- Direct Known Subclasses:
ComplexContentOutputter,Emitter,EventBuffer,ProxyReceiver,SequenceWrapper,SequenceWriter,Sink,TeeOutputter,TreeReceiver
SequenceReceiver: this extension of the Receiver interface is used when processing
a sequence constructor. It differs from the Receiver in allowing items (atomic values or
nodes) to be added to the sequence, not just tree-building events.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PipelineConfigurationprotected booleanprotected StringFields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAppend an arbitrary item (node, atomic value, or function) to the output.abstract voidAppend an arbitrary item (node, atomic value, or function) to the outputprotected voidHelper method for subclasses to invoke if required: decompose an item into a sequence of node events.protected voidHelper method for subclasses to invoke if required: flatten an arrayfinal ConfigurationGet the Saxon Configurationprotected StringGet the name poolfinal PipelineConfigurationGet the pipeline configurationGet the system IDbooleanAsk whether this Receiver can handle arbitrary items in itsappend(net.sf.saxon.om.Item, net.sf.saxon.expr.parser.Location, int)andappend(Item, Location, int)methods.voidopen()Start the output processvoidsetPipelineConfiguration(PipelineConfiguration pipelineConfiguration) Set the pipeline configurationvoidsetSystemId(String systemId) Set the system IDvoidsetUnparsedEntity(String name, String systemID, String publicID) Notify an unparsed entity URI.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.saxon.event.Receiver
attribute, characters, close, comment, endDocument, endElement, namespace, processingInstruction, startContent, startDocument, startElement, usesTypeAnnotations
-
Field Details
-
previousAtomic
protected boolean previousAtomic -
pipelineConfiguration
-
systemId
-
-
Constructor Details
-
SequenceReceiver
Create a SequenceReceiver- Parameters:
pipe- the pipeline configuration
-
-
Method Details
-
getPipelineConfiguration
Description copied from interface:ReceiverGet the pipeline configuration- Specified by:
getPipelineConfigurationin interfaceReceiver- Returns:
- the pipeline configuration
-
setPipelineConfiguration
Description copied from interface:ReceiverSet the pipeline configuration- Specified by:
setPipelineConfigurationin interfaceReceiver- Parameters:
pipelineConfiguration- the pipeline configuration
-
getConfiguration
Get the Saxon Configuration- Returns:
- the Configuration
-
setSystemId
Set the system ID- Specified by:
setSystemIdin interfaceReceiver- Specified by:
setSystemIdin interfaceResult- Parameters:
systemId- the URI used to identify the tree being passed across this interface
-
getSystemId
Get the system ID- Specified by:
getSystemIdin interfaceResult- Returns:
- the system ID that was supplied using the setSystemId() method
-
setUnparsedEntity
Notify an unparsed entity URI.- Specified by:
setUnparsedEntityin interfaceReceiver- Parameters:
name- The name of the unparsed entitysystemID- The system identifier of the unparsed entitypublicID- The public identifier of the unparsed entity- Throws:
XPathException- if an error occurs
-
open
Start the output process- Specified by:
openin interfaceReceiver- Throws:
XPathException- if an error occurs
-
append
Append an arbitrary item (node, atomic value, or function) to the output- Specified by:
appendin interfaceReceiver- Parameters:
item- the item to be appendedlocationId- the location of the calling instruction, for diagnosticsproperties- if the item is an element node, this indicates whether its namespaces need to be copied. Values areReceiverOptions.ALL_NAMESPACES,ReceiverOptions.LOCAL_NAMESPACES; the default (0) means no namespaces- Throws:
XPathException
-
append
Append an arbitrary item (node, atomic value, or function) to the output. By default, if the item is an element node, it is copied with all namespaces.- Specified by:
appendin interfaceReceiver- Parameters:
item- the item to be appended- Throws:
XPathException- if the operation fails
-
getNamePool
Get the name pool- Returns:
- the Name Pool that was supplied using the setConfiguration() method
-
flatten
protected void flatten(ArrayItem array, Location locationId, int copyNamespaces) throws XPathException Helper method for subclasses to invoke if required: flatten an array- Throws:
XPathException
-
decompose
Helper method for subclasses to invoke if required: decompose an item into a sequence of node events. Note that when this is used, methods such as characters(), comment(), startElement(), and processingInstruction() are responsible for setting previousAtomic to false.- Throws:
XPathException
-
getErrorCodeForDecomposingFunctionItems
-
handlesAppend
public boolean handlesAppend()Ask whether this Receiver can handle arbitrary items in itsappend(net.sf.saxon.om.Item, net.sf.saxon.expr.parser.Location, int)andappend(Item, Location, int)methods. If it cannot, then calling these methods will raise an exception (typically but not necessarily anUnsupportedOperationException). This implementation returns true.- Specified by:
handlesAppendin interfaceReceiver- Returns:
- true if the Receiver is able to handle items supplied to
its
append(net.sf.saxon.om.Item, net.sf.saxon.expr.parser.Location, int)andappend(Item, Location, int)methods. A receiver that returns true may still reject some kinds of item, for example it may reject function items.
-