Class StringOutputter
java.lang.Object
com.icl.saxon.output.Outputter
com.icl.saxon.output.StringOutputter
This class allows output to be generated. It channels output requests to an
Emitter which does the actual writing. This is a specialized and simplified version
that is used to handle xsl:attribute, xsl:comment, and xsl:processing-instruction.
- Author:
- Michael H. Kay
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) StringBuffer(package private) ErrorListener(package private) int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcheckAttributePrefix(int nameCode) Check that the prefix for an attribute is acceptable, returning a substitute prefix if not.voidclose()Close the outputvoidcopyNamespaceNode(int nscode) Copy a namespace node to the current element node (Rules defined in XSLT 1.0 errata)voidreset()Synchronize the state of the Outputter with that of the underlying EmittervoidsetErrorListener(ErrorListener listener) booleanTest whether there is an open start tag.voidProduce literal output.voidwriteAttribute(int nameCode, String value, boolean noEscape) Output an attribute value.voidwriteComment(String comment) Write a comment.voidwriteContent(char[] chars, int start, int length) Produce text content output.voidProduce text content output.voidwriteEndTag(int nameCode) Output an element end tag.voidwriteNamespaceDeclaration(int nscode) Output a namespace declaration.voidWrite a processing instruction No-op in this implementationvoidwriteStartTag(int nameCode) Output an element start tag.Methods inherited from class Outputter
getEmitter, open, setEscaping, writeAttribute
-
Field Details
-
buffer
StringBuffer buffer -
ignoreElements
int ignoreElements -
errorListener
ErrorListener errorListener
-
-
Constructor Details
-
StringOutputter
-
-
Method Details
-
setErrorListener
-
reset
Description copied from class:OutputterSynchronize the state of the Outputter with that of the underlying Emitter- Specified by:
resetin classOutputter- Throws:
TransformerException
-
getOutputProperties
- Specified by:
getOutputPropertiesin classOutputter
-
write
Produce literal output. This is written as is, without any escaping. The method is provided for Java applications that wish to output literal HTML text. It is not used by the XSL system, which always writes using specific methods such as writeStartTag().- Specified by:
writein classOutputter- Throws:
TransformerException
-
writeContent
Produce text content output.
Special characters are escaped using XML/HTML conventions if the output format requires it.- Specified by:
writeContentin classOutputter- Parameters:
s- The String to be output- Throws:
TransformerException- for any failure
-
writeContent
Produce text content output.
Special characters are escaped using XML/HTML conventions if the output format requires it.- Specified by:
writeContentin classOutputter- Parameters:
chars- Character array to be outputstart- start position of characters to be outputlength- number of characters to be output- Throws:
TransformerException- for any failure
-
writeStartTag
Output an element start tag. With this outputter, this is a recoverable error.- Specified by:
writeStartTagin classOutputter- Parameters:
nameCode- The element name code- Throws:
TransformerException
-
checkAttributePrefix
Check that the prefix for an attribute is acceptable, returning a substitute prefix if not. The prefix is acceptable unless a namespace declaration has been written that assignes this prefix to a different namespace URI. This method also checks that the attribute namespace has been declared, and declares it if not.- Specified by:
checkAttributePrefixin classOutputter- Throws:
TransformerException
-
writeNamespaceDeclaration
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.- Specified by:
writeNamespaceDeclarationin classOutputter- Parameters:
nscode- The namespace code- Throws:
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.
-
copyNamespaceNode
Copy a namespace node to the current element node (Rules defined in XSLT 1.0 errata)- Specified by:
copyNamespaceNodein classOutputter- Throws:
TransformerException
-
thereIsAnOpenStartTag
public boolean thereIsAnOpenStartTag()Test whether there is an open start tag. This determines whether it is possible to write an attribute node at this point.- Specified by:
thereIsAnOpenStartTagin classOutputter
-
writeAttribute
public void writeAttribute(int nameCode, String value, boolean noEscape) throws TransformerException Output an attribute value.
No-op in this implementation.- Specified by:
writeAttributein classOutputter- Parameters:
value- The value of the attributenoEscape- True if it's known there are no special characters in the value. If unsure, set this to false.name- The name of the attribute- Throws:
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.
-
writeEndTag
Output an element end tag.- Specified by:
writeEndTagin classOutputter- Parameters:
nameCode- The element name code- Throws:
TransformerException
-
writeComment
Write a comment. No-op in this implementation- Specified by:
writeCommentin classOutputter- Throws:
TransformerException
-
writePI
Write a processing instruction No-op in this implementation- Specified by:
writePIin classOutputter- Throws:
TransformerException
-
close
Close the output- Specified by:
closein classOutputter- Throws:
TransformerException
-