|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.event.Outputter
net.sf.saxon.event.SequenceOutputter
public final class SequenceOutputter
This outputter is used when writing a sequence of atomic values and nodes, that is, when xsl:variable is used with content and an "as" attribute. The outputter builds the sequence and provides access to it. (It isn't really an outputter at all, it doesn't pass the events to anyone, it merely constructs the sequence in memory and provides access to it). Note that the event sequence can include calls such as startElement and endElement that require trees to be built. If nodes such as attributes and text nodes are received while an element is being constructed, the nodes are added to the tree. Otherwise, "orphan" nodes (nodes with no parent) are created and added directly to the sequence.
This class is not used to build temporary trees. For that, the ComplexContentOutputter is used.
The SequenceOutputter no longer does type checking. This function is now performed, where necessary, by a SequenceChecker that filters the event stream before it reaches the SequenceOutputter.
Field Summary |
---|
Fields inherited from class net.sf.saxon.event.Outputter |
---|
previousAtomic |
Fields inherited from interface javax.xml.transform.Result |
---|
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING |
Constructor Summary | |
---|---|
SequenceOutputter()
Create a new SequenceOutputter |
Method Summary | |
---|---|
void |
append(Item item)
Append an item to the sequence, performing any necessary type-checking and conversion |
void |
attribute(int nameCode,
int typeCode,
CharSequence value,
int properties)
Output an attribute value. |
void |
characters(CharSequence s,
int properties)
Produce text content output. |
void |
comment(CharSequence comment,
int properties)
Write a comment. |
void |
endDocument()
Close the output |
void |
endElement()
Output an element end tag. |
Item |
getFirstItem()
Get the first item in the sequence that has been built |
NamePool |
getNamePool()
Get the name pool |
Value |
getSequence()
Get the sequence that has been built |
String |
getSystemId()
Get the system ID |
void |
namespace(int nscode,
int properties)
Output a namespace declaration. |
void |
processingInstruction(String target,
CharSequence data,
int properties)
Write a processing instruction No-op in this implementation |
void |
setNamePool(NamePool pool)
Set the name pool. |
void |
setSystemId(String systemId)
Set the system ID |
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()
Notify the start of the document. |
void |
startElement(int nameCode,
int typeCode,
int properties)
Output an element start tag. |
Methods inherited from class net.sf.saxon.event.Outputter |
---|
setDocumentLocator, setUnparsedEntity |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SequenceOutputter()
Method Detail |
---|
public void setNamePool(NamePool pool)
setNamePool
in interface Receiver
setNamePool
in class Outputter
pool
- the name pool. This name pool must contain all the name codes that are
passed across this interface.public NamePool getNamePool()
getNamePool
in interface Receiver
getNamePool
in class Outputter
public void setSystemId(String systemId)
setSystemId
in interface Result
setSystemId
in interface Receiver
setSystemId
in class Outputter
systemId
- the URI used to identify the tree being passed across this interfacepublic String getSystemId()
getSystemId
in interface Result
getSystemId
in class Outputter
public final void startDocument() throws TransformerException
startDocument
in interface Receiver
startDocument
in class Outputter
TransformerException
public void startElement(int nameCode, int typeCode, int properties) throws TransformerException
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:anyTypeproperties
- bit-significant flags indicating any special information
TransformerException
public void endElement() throws TransformerException
TransformerException
public void namespace(int nscode, int properties) throws TransformerException
nscode
- The namespace codeproperties
- Allows special properties to be passed if required
TransformerException
- 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(int nameCode, int typeCode, CharSequence value, int properties) throws TransformerException
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 attributeproperties
- Bit significant flags for passing extra information to the serializer, e.g.
to disable escaping
TransformerException
- 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 startContent() throws TransformerException
TransformerException
- for any failurepublic void characters(CharSequence s, int properties) throws TransformerException
s
- The String to be outputproperties
- bit-significant flags for extra information, e.g. disable-output-escaping
TransformerException
- for any failurepublic void comment(CharSequence comment, int properties) throws TransformerException
comment
- The content of the commentproperties
- Additional information about the comment. The following bits are
defined:
TransformerException
public void processingInstruction(String target, CharSequence data, int properties) throws TransformerException
target
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionproperties
- Additional information about the PI. The following bits are
defined:
TransformerException
public void endDocument() throws TransformerException
TransformerException
public void append(Item item) throws TransformerException
TransformerException
public Value getSequence()
public Item getFirstItem()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |