Package net.sf.saxon.event
Class SequenceWriter
java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.SequenceWriter
- Direct Known Subclasses:
SequenceOutputter
This outputter is used when writing a sequence of atomic values and nodes, for
example, when xsl:variable is used with content and an "as" attribute. The outputter
builds the sequence; the concrete subclass is responsible for deciding what to do with the
resulting items.
This class is not used to build temporary trees. For that, the ComplexContentOutputter is used.
- Author:
- Michael H. Kay
-
Field Summary
Fields inherited from class net.sf.saxon.event.SequenceReceiver
pipelineConfiguration, previousAtomic, systemId
Fields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Append an item to the sequence, performing any necessary type-checking and conversionvoid
attribute
(int nameCode, int typeCode, CharSequence value, int locationId, int properties) Output an attribute value.void
characters
(CharSequence s, int locationId, int properties) Produce text content output.void
close()
Close the outputvoid
comment
(CharSequence comment, int locationId, int properties) Write a comment.void
Notify the end of a document nodevoid
Output an element end tag.boolean
Determine whether there are any open document or element nodes in the outputvoid
namespace
(int nscode, int properties) Output a namespace declaration.void
processingInstruction
(String target, CharSequence data, int locationId, int properties) Write a processing instruction No-op in this implementationvoid
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
(int nameCode, int typeCode, int locationId, int properties) Output an element start tag.abstract void
Abstract method to be supplied by subclasses: output one item in the sequence.Methods inherited from class net.sf.saxon.event.SequenceReceiver
getConfiguration, getNamePool, getPipelineConfiguration, getSystemId, open, setPipelineConfiguration, setSystemId, setUnparsedEntity
-
Constructor Details
-
SequenceWriter
public SequenceWriter()
-
-
Method Details
-
write
Abstract method to be supplied by subclasses: output one item in the sequence.- Throws:
XPathException
-
hasOpenNodes
public boolean hasOpenNodes()Determine whether there are any open document or element nodes in the output -
startDocument
Start of a document node.- Throws:
XPathException
-
endDocument
Notify the end of a document node- Throws:
XPathException
-
startElement
public void startElement(int nameCode, int typeCode, int locationId, int properties) throws XPathException Output an element start tag.- Parameters:
nameCode
- 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:anyTypelocationId
- an integer which can be interpreted using aLocationProvider
to return information such as line number and system ID. If no location information is available, the value zero is supplied.properties
- bit-significant flags indicating any special information- Throws:
XPathException
-
endElement
Output an element end tag.- Throws:
XPathException
-
namespace
Output a namespace declaration.
This is added to a list of pending namespaces for the current start tag. If there is already another declaration of the same prefix, this one is ignored. Note that unlike SAX2 startPrefixMapping(), this call is made AFTER writing the start tag.- Parameters:
nscode
- The namespace codeproperties
- Allows special properties to be passed if required- Throws:
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.
-
attribute
public void attribute(int nameCode, int typeCode, CharSequence value, int locationId, int properties) throws XPathException Output an attribute value.- Parameters:
nameCode
- 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
- an integer which can be interpreted using aLocationProvider
to return information such as line number and system ID. If no location information is available, the value zero is supplied.properties
- Bit significant flags for passing extra information to the serializer, e.g. to disable escaping- Throws:
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.
-
startContent
The startContent() event is notified after all namespaces and attributes of an element have been notified, and before any child nodes are notified.- Throws:
XPathException
- for any failure
-
characters
Produce text content output.- Parameters:
s
- The String to be outputlocationId
- an integer which can be interpreted using aLocationProvider
to return information such as line number and system ID. If no location information is available, the value zero is supplied.properties
- bit-significant flags for extra information, e.g. disable-output-escaping- Throws:
XPathException
- for any failure
-
comment
Write a comment.- Parameters:
comment
- The content of the commentlocationId
- an integer which can be interpreted using aLocationProvider
to return information such as line number and system ID. If no location information is available, the value zero is supplied.properties
- Additional information about the comment. The following bits are defined:- CHECKED
- Comment is known to be legal (e.g. doesn't contain "--")
- Throws:
XPathException
-
processingInstruction
public void processingInstruction(String target, CharSequence data, int locationId, int properties) throws XPathException Write a processing instruction No-op in this implementation- Parameters:
target
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocationId
- an integer which can be interpreted using aLocationProvider
to return information such as line number and system ID. If no location information is available, the value zero is supplied.properties
- Additional information about the PI. The following bits are defined:- CHECKED
- Data is known to be legal (e.g. doesn't contain "?>")
- Throws:
XPathException
-
close
Close the output- Throws:
XPathException
-
append
Append an item to the sequence, performing any necessary type-checking and conversion- Overrides:
append
in classSequenceReceiver
- Throws:
XPathException
-