Package com.icl.saxon.output
Class XMLEmitter
- java.lang.Object
-
- com.icl.saxon.output.Emitter
-
- com.icl.saxon.output.XMLEmitter
-
- All Implemented Interfaces:
javax.xml.transform.Result
- Direct Known Subclasses:
HTMLEmitter,MessageEmitter,TEXTEmitter,XHTMLEmitter
public class XMLEmitter extends Emitter
XMLEmitter is an Emitter that generates XML output to a specified destination.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) char[]attbuff1Write attribute name=value pair.protected CharacterSetcharacterSetprotected booleandeclarationIsWritten(package private) booleandocTypeWrittenOutput the document type declarationprotected booleanemptyprotected booleanescapingprotected java.lang.StringlastDisplayNameprotected intlastNameCodeprotected java.lang.StringlastPrefixprotected java.lang.StringlastURIprotected booleanopenStartTagprotected booleanpreferHex(package private) static boolean[]specialInAtt(package private) static boolean[]specialInText-
Fields inherited from class com.icl.saxon.output.Emitter
locator, namePool, outputProperties, outputStream, systemId, writer
-
-
Constructor Summary
Constructors Constructor Description XMLEmitter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcharacters(char[] ch, int start, int length)Character data.protected voidcloseStartTag(int nameCode, boolean emptyTag)voidcomment(char[] ch, int start, int length)Handle a comment.protected java.lang.StringemptyElementTagCloser(int nameCode)Close an empty element tag.voidendDocument()End of the document.voidendElement(int nameCode)End of an element.protected voidoutputCharacterReference(int charval)voidprocessingInstruction(java.lang.String target, java.lang.String data)Handle a processing instruction.voidsetDocumentLocator(org.xml.sax.Locator locator)Set Document Locator.voidsetEscaping(boolean escaping)Set escaping on or offvoidsetOutputProperties(java.util.Properties details)Set output propertiesvoidsetResult(javax.xml.transform.Result result)Set the result destinationvoidsetUnparsedEntity(java.lang.String name, java.lang.String uri)Set the URI for an unparsed entity in the document.voidstartDocument()Start of the document.voidstartElement(int nameCode, org.xml.sax.Attributes attributes, int[] namespaces, int nscount)Start of an element.protected booleantestCharacters(char[] array, int start, int len)protected voidtestCharacters(java.lang.String name)Test that all characters in a name are supported in the target encodingprotected voidwriteAttribute(int elCode, java.lang.String attname, java.lang.String type, java.lang.String value)voidwriteDeclaration()Output the XML declarationprotected voidwriteDocType(java.lang.String type, java.lang.String systemId, java.lang.String publicId)protected voidwriteEscape(char[] ch, int start, int length, boolean inAttribute)Write contents of array to current writer, after escaping special characters-
Methods inherited from class com.icl.saxon.output.Emitter
getNamePool, getOutputProperties, getOutputStream, getSystemId, getWriter, makeEmitter, setNamePool, setOutputStream, setSystemId, setWriter, usesWriter
-
-
-
-
Field Detail
-
characterSet
protected CharacterSet characterSet
-
empty
protected boolean empty
-
escaping
protected boolean escaping
-
openStartTag
protected boolean openStartTag
-
declarationIsWritten
protected boolean declarationIsWritten
-
preferHex
protected boolean preferHex
-
lastNameCode
protected int lastNameCode
-
lastDisplayName
protected java.lang.String lastDisplayName
-
lastPrefix
protected java.lang.String lastPrefix
-
lastURI
protected java.lang.String lastURI
-
specialInText
static boolean[] specialInText
-
specialInAtt
static boolean[] specialInAtt
-
docTypeWritten
boolean docTypeWritten
Output the document type declaration
-
attbuff1
char[] attbuff1
Write attribute name=value pair. The element name is not used in this version of the method, but is used in the HTML subclass.
-
-
Method Detail
-
setDocumentLocator
public void setDocumentLocator(org.xml.sax.Locator locator)
Set Document Locator. Provided merely to satisfy the interface.- Overrides:
setDocumentLocatorin classEmitter
-
startDocument
public void startDocument() throws javax.xml.transform.TransformerExceptionStart of the document. Make the writer and write the XML declaration.- Specified by:
startDocumentin classEmitter- Throws:
javax.xml.transform.TransformerException
-
writeDeclaration
public void writeDeclaration() throws javax.xml.transform.TransformerExceptionOutput the XML declaration- Throws:
javax.xml.transform.TransformerException
-
writeDocType
protected void writeDocType(java.lang.String type, java.lang.String systemId, java.lang.String publicId) throws javax.xml.transform.TransformerException- Throws:
javax.xml.transform.TransformerException
-
endDocument
public void endDocument() throws javax.xml.transform.TransformerExceptionEnd of the document. Close the output stream.- Specified by:
endDocumentin classEmitter- Throws:
javax.xml.transform.TransformerException
-
startElement
public void startElement(int nameCode, org.xml.sax.Attributes attributes, int[] namespaces, int nscount) throws javax.xml.transform.TransformerExceptionStart of an element. Output the start tag, escaping special characters.- Specified by:
startElementin classEmitternamespaces- Array of namespace codes identifying the namespace prefix/uri pairs associated with this elementnscount- Number of significant entries within namespaces array- Throws:
javax.xml.transform.TransformerException
-
closeStartTag
protected void closeStartTag(int nameCode, boolean emptyTag) throws javax.xml.transform.TransformerException- Throws:
javax.xml.transform.TransformerException
-
emptyElementTagCloser
protected java.lang.String emptyElementTagCloser(int nameCode)
Close an empty element tag. (This is overridden in XHTMLEmitter).
-
writeAttribute
protected void writeAttribute(int elCode, java.lang.String attname, java.lang.String type, java.lang.String value) throws javax.xml.transform.TransformerException- Throws:
javax.xml.transform.TransformerException
-
testCharacters
protected void testCharacters(java.lang.String name) throws javax.xml.transform.TransformerExceptionTest that all characters in a name are supported in the target encoding- Throws:
javax.xml.transform.TransformerException
-
testCharacters
protected boolean testCharacters(char[] array, int start, int len)
-
endElement
public void endElement(int nameCode) throws javax.xml.transform.TransformerExceptionEnd of an element.- Specified by:
endElementin classEmitter- Throws:
javax.xml.transform.TransformerException
-
characters
public void characters(char[] ch, int start, int length) throws javax.xml.transform.TransformerExceptionCharacter data.- Specified by:
charactersin classEmitter- Throws:
javax.xml.transform.TransformerException
-
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.String data) throws javax.xml.transform.TransformerExceptionHandle a processing instruction.- Specified by:
processingInstructionin classEmitter- Throws:
javax.xml.transform.TransformerException
-
writeEscape
protected void writeEscape(char[] ch, int start, int length, boolean inAttribute) throws java.io.IOExceptionWrite contents of array to current writer, after escaping special characters- Parameters:
ch- The character array containing the stringstart- The start position of the input string within the character arraylength- The length of the input string within the character array This method converts the XML special characters (such as < and &) into their predefined entities.- Throws:
java.io.IOException
-
outputCharacterReference
protected void outputCharacterReference(int charval) throws java.io.IOException- Throws:
java.io.IOException
-
setEscaping
public void setEscaping(boolean escaping)
Set escaping on or off- Overrides:
setEscapingin classEmitter
-
comment
public void comment(char[] ch, int start, int length) throws javax.xml.transform.TransformerExceptionHandle a comment.
-
setResult
public void setResult(javax.xml.transform.Result result)
Set the result destination
-
setOutputProperties
public void setOutputProperties(java.util.Properties details)
Set output properties- Overrides:
setOutputPropertiesin classEmitter
-
setUnparsedEntity
public void setUnparsedEntity(java.lang.String name, java.lang.String uri) throws javax.xml.transform.TransformerExceptionSet the URI for an unparsed entity in the document.- Overrides:
setUnparsedEntityin classEmitter- Throws:
javax.xml.transform.TransformerException
-
-