|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.event.Emitter
net.sf.saxon.event.XMLEmitter
XMLEmitter is an Emitter that generates XML output to a specified destination.
Field Summary | |
protected boolean |
declarationIsWritten
|
protected int |
elementCode
|
protected java.util.Stack |
elementStack
|
protected boolean |
empty
|
protected boolean |
openStartTag
|
protected boolean |
preferHex
|
protected boolean |
undeclareNamespaces
|
Fields inherited from class net.sf.saxon.event.Emitter |
characterSet, namePool, outputProperties, outputStream, pipelineConfig, streamResult, systemId, writer |
Fields inherited from interface javax.xml.transform.Result |
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING |
Constructor Summary | |
XMLEmitter()
|
Method Summary | |
void |
attribute(int nameCode,
int typeCode,
java.lang.CharSequence value,
int locationId,
int properties)
Notify an attribute. |
void |
characters(java.lang.CharSequence chars,
int locationId,
int properties)
Character data. |
void |
close()
End of the document. |
void |
closeStartTag()
|
void |
comment(java.lang.CharSequence chars,
int locationId,
int properties)
Handle a comment. |
protected java.lang.String |
emptyElementTagCloser(java.lang.String displayName,
int nameCode)
Close an empty element tag. |
void |
endDocument()
Notify the end of a document node |
void |
endElement()
End of an element. |
static void |
main(java.lang.String[] params)
|
void |
namespace(int namespaceCode,
int properties)
Notify a namespace. |
void |
open()
Start of the event stream. |
protected void |
openDocument()
Do the real work of starting the document. |
protected void |
outputCharacterReference(int charval)
|
void |
processingInstruction(java.lang.String target,
java.lang.CharSequence data,
int locationId,
int properties)
Handle a processing instruction. |
void |
startContent()
Notify the start of the content, that is, the completion of all attributes and namespaces. |
void |
startDocument(int properties)
Start of a document node. |
void |
startElement(int nameCode,
int typeCode,
int locationId,
int properties)
Start of an element. |
protected int |
testCharacters(java.lang.CharSequence chars)
Test that all characters in a name are supported in the target encoding. |
protected void |
writeAttribute(int elCode,
java.lang.String attname,
java.lang.CharSequence value,
int properties)
Write attribute name=value pair. |
void |
writeCharSequence(java.lang.CharSequence s)
Write a CharSequence: various implementations |
void |
writeDeclaration()
Output the XML declaration |
protected void |
writeDocType(java.lang.String type,
java.lang.String systemId,
java.lang.String publicId)
Output the document type declaration |
protected void |
writeEscape(java.lang.CharSequence chars,
boolean inAttribute)
Write contents of array to current writer, after escaping special characters. |
Methods inherited from class net.sf.saxon.event.Emitter |
getConfiguration, getOutputProperties, getOutputStream, getPipelineConfiguration, getSystemId, getWriter, makeEmitter, makeWriter, setOutputProperties, setOutputStream, setPipelineConfiguration, setStreamResult, setSystemId, setUnparsedEntity, setWriter, usesWriter |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected boolean empty
protected boolean openStartTag
protected boolean declarationIsWritten
protected int elementCode
protected boolean preferHex
protected boolean undeclareNamespaces
protected java.util.Stack elementStack
Constructor Detail |
public XMLEmitter()
Method Detail |
public void open() throws XPathException
XPathException
public void startDocument(int properties) throws XPathException
XPathException
public void endDocument() throws XPathException
XPathException
protected void openDocument() throws XPathException
XPathException
public void writeDeclaration() throws XPathException
XPathException
protected void writeDocType(java.lang.String type, java.lang.String systemId, java.lang.String publicId) throws XPathException
XPathException
public void close() throws XPathException
XPathException
public void startElement(int nameCode, int typeCode, int locationId, int properties) throws XPathException
nameCode
- integer code identifying the name of the element within the name pool.typeCode
- integer code identifying the element's type within the name pool. The value -1
indicates the default type, xdt:untyped.locationId
- an integer which can be interpreted using a LocationMap to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.properties
- bit-significant properties of the element node. If there are no revelant
properties, zero is supplied.
XPathException
public void namespace(int namespaceCode, int properties) throws XPathException
Receiver
namespaceCode
- an integer: the top half is a prefix code, the bottom half a URI code.
These may be translated into an actual prefix and URI using the name pool. A prefix code of
zero represents the empty prefix (that is, the default namespace). A URI code of zero represents
a URI of "", that is, a namespace undeclaration.properties
- The most important property is REJECT_DUPLICATES. If this property is set, the
namespace declaration will be rejected if it conflicts with a previous declaration of the same
prefix. If the property is not set, the namespace declaration will be ignored if it conflicts
with a previous declaration. This reflects the fact that when copying a tree, namespaces for child
elements are emitted before the namespaces of their parent element. Unfortunately this conflicts
with the XSLT rule for complex content construction, where the recovery action in the event of
conflicts is to take the namespace that comes last. XSLT therefore doesn't recover from this error:
it sets the REJECT_DUPLICATES flag, and this is treated as a hard error.
XPathException
public void attribute(int nameCode, int typeCode, java.lang.CharSequence value, int locationId, int properties) throws XPathException
Receiver
nameCode
- The name of the attribute, as held in the name pooltypeCode
- The type of the attribute, as held in the name pool. The additional bit
NodeInfo.IS_DTD_TYPE may be set to indicate a DTD-derived type.locationId
- an integer which can be interpreted using a LocationMap to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.properties
- Bit significant value. The following bits are defined:
XPathException
public void startContent() throws XPathException
Receiver
XPathException
public void closeStartTag() throws XPathException
XPathException
protected java.lang.String emptyElementTagCloser(java.lang.String displayName, int nameCode)
protected void writeAttribute(int elCode, java.lang.String attname, java.lang.CharSequence value, int properties) throws XPathException
elCode
- The element name is not used in this version of the
method, but is used in the HTML subclass.attname
- The attribute name, which has already been validated to ensure
it can be written in this encodingvalue
- The value of the attributeproperties
- Any special properties of the attribute
XPathException
protected int testCharacters(java.lang.CharSequence chars) throws XPathException
XPathException
public void endElement() throws XPathException
XPathException
public void characters(java.lang.CharSequence chars, int locationId, int properties) throws XPathException
chars
- The characterslocationId
- an integer which can be interpreted using a LocationMap to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.properties
- Bit significant value. The following bits are defined:
XPathException
public void writeCharSequence(java.lang.CharSequence s) throws java.io.IOException
java.io.IOException
public void processingInstruction(java.lang.String target, java.lang.CharSequence data, int 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
- an integer which can be interpreted using a LocationMap 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:
XPathException
protected void writeEscape(java.lang.CharSequence chars, boolean inAttribute) throws java.io.IOException, XPathException
chars
- The character sequence containing the stringinAttribute
- Set to true if the text is in an attribute value
java.io.IOException
XPathException
protected void outputCharacterReference(int charval) throws java.io.IOException
java.io.IOException
public void comment(java.lang.CharSequence chars, int locationId, int properties) throws XPathException
chars
- The content of the commentlocationId
- an integer which can be interpreted using a LocationMap 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:
XPathException
public static void main(java.lang.String[] params) throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |