public interface Receiver
extends javax.xml.transform.Result
The Receiver interface is an important internal interface within Saxon, and provides a powerful mechanism for integrating Saxon with other applications. It has been designed with extensibility and stability in mind. However, it should be considered as an interface designed primarily for internal use, and not as a completely stable part of the public Saxon API.
Modifier and Type | Method and Description |
---|---|
default void |
append(Item item)
Append an arbitrary item (node, atomic value, or function) to the output.
|
default void |
append(Item item,
Location locationId,
int properties)
Append an arbitrary item (node, atomic value, or function) to the output.
|
void |
characters(java.lang.CharSequence chars,
Location location,
int properties)
Notify character data.
|
void |
close()
Notify the end of the event stream
|
void |
comment(java.lang.CharSequence content,
Location location,
int properties)
Notify a comment.
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
Notify the end of an element.
|
PipelineConfiguration |
getPipelineConfiguration()
Get the pipeline configuration
|
default boolean |
handlesAppend()
Ask whether this Receiver can handle arbitrary items in its
append(net.sf.saxon.om.Item, net.sf.saxon.s9api.Location, int) and
append(Item, Location, int) methods. |
void |
open()
Notify the start of the event stream
|
void |
processingInstruction(java.lang.String name,
java.lang.CharSequence data,
Location location,
int properties)
Output a processing instruction
|
void |
setPipelineConfiguration(PipelineConfiguration pipe)
Set the pipeline configuration
|
void |
setSystemId(java.lang.String systemId)
Set the System ID of the tree represented by this event stream
|
void |
setUnparsedEntity(java.lang.String name,
java.lang.String systemID,
java.lang.String publicID)
Notify an unparsed entity URI.
|
void |
startDocument(int properties)
Notify the start of a document node
|
void |
startElement(NodeName elemName,
SchemaType type,
AttributeMap attributes,
NamespaceMap namespaces,
Location location,
int properties)
Notify the start of an element
|
default boolean |
usesTypeAnnotations()
Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations
supplied on element and attribute events.
|
void setPipelineConfiguration(PipelineConfiguration pipe)
pipe
- the pipeline configurationPipelineConfiguration getPipelineConfiguration()
void setSystemId(java.lang.String systemId)
setSystemId
in interface javax.xml.transform.Result
systemId
- the system ID (which is used as the base URI of the nodes
if there is no xml:base attribute)void open() throws XPathException
XPathException
- if an error occursvoid startDocument(int properties) throws XPathException
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOption
XPathException
- if an error occursvoid endDocument() throws XPathException
XPathException
- if an error occursvoid setUnparsedEntity(java.lang.String name, java.lang.String systemID, java.lang.String publicID) throws XPathException
name
- The name of the unparsed entitysystemID
- The system identifier of the unparsed entitypublicID
- The identifier of the unparsed entityXPathException
- if an error occursvoid startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
elemName
- the name of the element.type
- the type annotation of the element.attributes
- the attributes of this elementnamespaces
- the in-scope namespaces of this element: generally this is all the in-scope
namespaces, without relying on inheriting namespaces from parent elementslocation
- an object providing information about the module, line, and column where the node originatedproperties
- bit-significant properties of the element node. If there are no relevant
properties, zero is supplied. The definitions of the bits are in class ReceiverOption
XPathException
- if an error occursvoid endElement() throws XPathException
XPathException
- if an error occursvoid characters(java.lang.CharSequence chars, Location location, int properties) throws XPathException
chars
- The characterslocation
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occursvoid processingInstruction(java.lang.String name, java.lang.CharSequence data, Location location, int properties) throws XPathException
name
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocation
- provides information such as line number and system ID.properties
- Additional information about the PI.java.lang.IllegalArgumentException
- if the content is invalid for an XML processing instructionXPathException
- if an error occursvoid comment(java.lang.CharSequence content, Location location, int properties) throws XPathException
content
- The content of the commentlocation
- provides information such as line number and system ID.properties
- Additional information about the comment.java.lang.IllegalArgumentException
- if the content is invalid for an XML commentXPathException
- if an error occursdefault void append(Item item, Location locationId, int properties) throws XPathException
UnsupportedOperationException
.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 are ReceiverOption.ALL_NAMESPACES
; the default (0) meansXPathException
- if an error occursjava.lang.UnsupportedOperationException
- if this Receiver does not allow appending of items (at any time,
or at this particular point in the sequence of events)default void append(Item item) throws XPathException
append(Item, Location, int)
, whose
default implementation throws UnsupportedOperationException
item
- the item to be appendedXPathException
- if the operation failsvoid close() throws XPathException
XPathException
- if an error occursdefault boolean usesTypeAnnotations()
default boolean handlesAppend()
append(net.sf.saxon.om.Item, net.sf.saxon.s9api.Location, int)
and
append(Item, Location, int)
methods. If it cannot, then calling
these methods will raise an exception (typically but not necessarily an
UnsupportedOperationException
). The default implementation of this
method returns false.append(net.sf.saxon.om.Item, net.sf.saxon.s9api.Location, int)
and append(Item, Location, int)
methods. A
receiver that returns true may still reject some kinds of item, for example
it may reject function items.Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.