public interface Serializer
Here is an example using the asContentHandler() method:
java.util.Properties props = OutputPropertiesFactory.getDefaultMethodProperties(Method.TEXT); Serializer ser = SerializerFactory.getSerializer(props); java.io.PrintStream ostream = System.out; ser.setOutputStream(ostream); // Provide the SAX input events ContentHandler handler = ser.asContentHandler(); handler.startDocument(); char[] chars = { 'a', 'b', 'c' }; handler.characters(chars, 0, chars.length); handler.endDocument(); ser.reset(); // get ready to use the serializer for another document // of the same output method (TEXT).
As an alternate to supplying a series of SAX events as input through the ContentHandler interface, the input to serialize may be given as a DOM.
For example:
org.w3c.dom.Document inputDoc; org.apache.xml.serializer.Serializer ser; java.io.Writer owriter; java.util.Properties props = OutputPropertiesFactory.getDefaultMethodProperties(Method.XML); Serializer ser = SerializerFactory.getSerializer(props); owriter = ...; // create a writer to serialize the document to ser.setWriter( owriter ); inputDoc = ...; // create the DOM document to be serialized DOMSerializer dser = ser.asDOMSerializer(); // a DOM will be serialized dser.serialize(inputDoc); // serialize the DOM, sending output to owriter ser.reset(); // get ready to use the serializer for another document // of the same output method.This interface is a public API.
Modifier and Type | Method and Description |
---|---|
ContentHandler |
asContentHandler()
Return a
ContentHandler interface to provide SAX input to. |
Object |
asDOM3Serializer()
Return an Object into this serializer to be cast to a DOM3Serializer.
|
DOMSerializer |
asDOMSerializer()
Return a
DOMSerializer interface into this serializer. |
Properties |
getOutputFormat()
Returns the output format properties for this serializer.
|
OutputStream |
getOutputStream()
Get the output stream where the events will be serialized to.
|
Writer |
getWriter()
Get the character stream where the events will be serialized to.
|
boolean |
reset()
This method resets the serializer.
|
void |
setOutputFormat(Properties format)
Specifies an output format for this serializer.
|
void |
setOutputStream(OutputStream output)
Specifies an output stream to which the document should be
serialized.
|
void |
setWriter(Writer writer)
Specifies a writer to which the document should be serialized.
|
void setOutputStream(OutputStream output)
The encoding specified in the output Properties
is used, or
if no encoding was specified, the default for the selected
output method.
Only one of setWriter() or setOutputStream() should be called.
output
- The output streamOutputStream getOutputStream()
void setWriter(Writer writer)
The encoding specified for the output Properties
must be
identical to the output format used with the writer.
Only one of setWriter() or setOutputStream() should be called.
writer
- The output writer streamWriter getWriter()
void setOutputFormat(Properties format)
The standard property keys supported are: "method", "version", "encoding", "omit-xml-declaration", "standalone", doctype-public", "doctype-system", "cdata-section-elements", "indent", "media-type". These property keys and their values are described in the XSLT recommendation, see XSLT 1.0 recommendation
The non-standard property keys supported are defined in OutputPropertiesFactory
.
This method can be called multiple times before a document is serialized. Each time it is called more, or over-riding property values, can be specified. One property value that can not be changed is that of the "method" property key.
The value of the "cdata-section-elements" property key is a whitespace separated list of elements. If the element is in a namespace then value is passed in this format: {uri}localName
If the "cdata-section-elements" key is specified on multiple calls to this method the set of elements specified in the value is not replaced from one call to the next, but it is cumulative across the calls.
format
- The output format to use, as a set of key/value pairs.Properties getOutputFormat()
ContentHandler asContentHandler() throws IOException
ContentHandler
interface to provide SAX input to.
Through the returned object the document to be serailized,
as a series of SAX events, can be provided to the serialzier.
If the serializer does not support the ContentHandler
interface, it will return null.
In principle only one of asDOMSerializer() or asContentHander() should be called.
ContentHandler
interface into this serializer,
or null if the serializer is not SAX 2 capableIOException
- An I/O exception occuredDOMSerializer asDOMSerializer() throws IOException
DOMSerializer
interface into this serializer.
Through the returned object the document to be serialized,
a DOM, can be provided to the serializer.
If the serializer does not support the DOMSerializer
interface, it should return null.
In principle only one of asDOMSerializer() or asContentHander() should be called.
DOMSerializer
interface into this serializer,
or null if the serializer is not DOM capableIOException
- An I/O exception occuredboolean reset()
Object asDOM3Serializer() throws IOException
DOM3Serializer
interface, it should return null.
In principle only one of asDOM3Serializer() or asContentHander() should be called.
IOException
- An I/O exception occuredCopyright © 2019 JBoss by Red Hat. All rights reserved.