public abstract class SequenceWriter extends SequenceReceiver
This class is not used to build temporary trees. For that, the ComplexContentOutputter is used.
pipelineConfiguration, previousAtomic, systemId
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
Constructor and Description |
---|
SequenceWriter(PipelineConfiguration pipe) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item item,
Location locationId,
int copyNamespaces)
Append an item to the sequence, performing any necessary type-checking and conversion
|
void |
attribute(NodeName attName,
SimpleType typeCode,
CharSequence value,
Location locationId,
int properties)
Output an attribute value.
|
void |
characters(CharSequence s,
Location locationId,
int properties)
Produce text content output.
|
void |
close()
Close the output
|
void |
comment(CharSequence comment,
Location locationId,
int properties)
Write a comment.
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
Output an element end tag.
|
TreeModel |
getTreeModel()
Get the tree model that will be used for creating trees when events are written to the sequence
|
void |
namespace(NamespaceBinding namespaceBinding,
int properties)
Output a namespace declaration.
|
void |
processingInstruction(String target,
CharSequence data,
Location locationId,
int properties)
Write a processing instruction
No-op in this implementation
|
void |
setTreeModel(TreeModel treeModel)
Set the tree model that will be used for creating trees when events are written to the sequence
|
void |
setUnparsedEntity(String name,
String systemID,
String publicID)
Notify an unparsed entity URI.
|
void |
startContent()
The startContent() event is notified after all namespaces and attributes of an element
have been notified, and before any child nodes are notified.
|
void |
startDocument(int properties)
Start of a document node.
|
void |
startElement(NodeName elemName,
SchemaType typeCode,
Location location,
int properties)
Output an element start tag.
|
boolean |
usesTypeAnnotations()
Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations
supplied on element and attribute events
|
abstract void |
write(Item item)
Abstract method to be supplied by subclasses: output one item in the sequence.
|
append, getConfiguration, getNamePool, getPipelineConfiguration, getSystemId, isTrueSequenceReceiver, open, setPipelineConfiguration, setSystemId
public SequenceWriter(PipelineConfiguration pipe)
public abstract void write(Item item) throws XPathException
item
- the item to be written to the sequenceXPathException
- if any failure occurs while writing the itempublic void startDocument(int properties) throws XPathException
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOptions
XPathException
- if an error occurspublic void setUnparsedEntity(String name, String systemID, String publicID) throws XPathException
setUnparsedEntity
in interface Receiver
setUnparsedEntity
in class SequenceReceiver
name
- The name of the unparsed entitysystemID
- The system identifier of the unparsed entitypublicID
- The public identifier of the unparsed entityXPathException
- if an error occurspublic TreeModel getTreeModel()
public void setTreeModel(TreeModel treeModel)
treeModel
- the tree model to be used. If none has been set, the default tree model for the configuration
is used, unless a mutable tree is required and the default tree model is not mutable, in which case a linked
tree is used.public void endDocument() throws XPathException
XPathException
- if an error occurspublic void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
elemName
- The element name code - a code held in the Name PooltypeCode
- Integer code identifying the type of this element. Zero identifies the default
type, that is xs:anyTypelocation
- properties
- bit-significant flags indicating any special informationXPathException
- if an error occurspublic void endElement() throws XPathException
XPathException
- if an error occurspublic void namespace(NamespaceBinding namespaceBinding, int properties) throws XPathException
namespaceBinding
- The namespace bindingproperties
- Allows special properties to be passed if requiredXPathException
- if there is no start tag to write to (created using writeStartTag),
or if character content has been written since the start tag was written.public void attribute(NodeName attName, SimpleType typeCode, CharSequence value, Location locationId, int properties) throws XPathException
attName
- An integer code representing the name of the attribute, as held in the Name PooltypeCode
- Integer code identifying the type annotation of the attribute; zero represents
the default type (xs:untypedAtomic)value
- The value of the attributelocationId
- properties
- Bit significant flags for passing extra information to the serializer, e.g.
to disable escaping @throws net.sf.saxon.trans.XPathException
if there is no start tag to write to (created using writeStartTag),
or if character content has been written since the start tag was written.XPathException
- if an error occurspublic void startContent() throws XPathException
XPathException
- for any failurepublic void characters(CharSequence s, Location locationId, int properties) throws XPathException
s
- The String to be outputlocationId
- properties
- bit-significant flags for extra information, e.g. disable-output-escaping @throws net.sf.saxon.trans.XPathException
for any failureXPathException
- if an error occurspublic void comment(CharSequence comment, Location locationId, int properties) throws XPathException
comment
- The content of the commentlocationId
- provides information such as line number and system ID.properties
- Additional information about the comment.XPathException
- if an error occurspublic void processingInstruction(String target, CharSequence data, Location locationId, int properties) throws XPathException
target
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocationId
- provides information such as line number and system ID.properties
- Additional information about the PI.XPathException
- if an error occurspublic void close() throws XPathException
XPathException
- if an error occurspublic void append(Item item, Location locationId, int copyNamespaces) throws XPathException
append
in class SequenceReceiver
item
- the item to be appendedlocationId
- the location of the calling instruction, for diagnosticscopyNamespaces
- if the item is an element node, this indicates whether its namespaces
need to be copied. Values are NodeInfo.ALL_NAMESPACES
,
NodeInfo.LOCAL_NAMESPACES
, NodeInfo.NO_NAMESPACES
XPathException
- if the operation failspublic boolean usesTypeAnnotations()
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.