org.apache.xml.serialize
public class DOMSerializerImpl extends Object implements LSSerializer, DOMConfiguration
XMLSerializer
.
LSSerializer provides an API for serializing (writing) a DOM document out in an
XML document. The XML data is written to an output stream.
During serialization of XML data, namespace fixup is done when possible as
defined in DOM Level 3 Core, Appendix B.
Version: $Id: DOMSerializerImpl.java,v 1.36 2005/06/13 22:26:42 nddelima Exp $
Field Summary | |
---|---|
protected static short | CDATA |
protected static short | COMMENTS |
protected static short | DISCARDDEFAULT |
protected static short | DOM_ELEMENT_CONTENT_WHITESPACE |
protected static short | ENTITIES |
protected short | features REVISIT: Currently we handle 3 different configurations, would be nice just have one configuration
that has different recognized parameters depending if it is used in Core/LS. |
protected static short | INFOSET |
protected static short | NAMESPACES |
protected static short | NSDECL |
protected static short | SPLITCDATA |
protected static short | WELLFORMED |
protected static short | XMLDECL |
Constructor Summary | |
---|---|
DOMSerializerImpl()
Constructs a new LSSerializer.
|
Method Summary | |
---|---|
boolean | canSetParameter(String name, Object state) DOM L3-EXPERIMENTAL:
Check if parameter can be set |
DOMConfiguration | getDomConfig() |
LSSerializerFilter | getFilter()
When the application provides a filter, the serializer will call out
to the filter before serializing each Node. |
String | getNewLine()
DOM L3 EXPERIMENTAL:
The end-of-line sequence of characters to be used in the XML being
written out. |
Object | getParameter(String name) DOM L3-EXPERIMENTAL:
Getter for boolean and object parameters |
DOMStringList | getParameterNames()
DOM Level 3 Core CR - Experimental.
|
void | setFilter(LSSerializerFilter filter)
When the application provides a filter, the serializer will call out
to the filter before serializing each Node. |
void | setNewLine(String newLine)
DOM L3 EXPERIMENTAL:
The end-of-line sequence of characters to be used in the XML being
written out. |
void | setParameter(String name, Object value) DOM L3-EXPERIMENTAL:
Setter for boolean and object parameters |
boolean | write(Node node, LSOutput destination)
Serialize the specified node as described above in the general
description of the LSSerializer interface. |
String | writeToString(Node wnode)
DOM L3 EXPERIMENTAL:
Serialize the specified node as described above in the description of
LSSerializer . |
boolean | writeToURI(Node node, String URI)
Serialize the specified node as described above in the general
description of the LSSerializer interface. |
XMLSerializer
and
initializes the following fields: fNSBinder, fLocalNSBinder, fSymbolTable,
fEmptySymbol, fXmlSymbol, fXmlnsSymbol, fNamespaceCounter, fFeatures.null
null
.DOMConfiguration
object and for which at least one value
can be set by the application. Note that this list can also contain
parameter names defined outside this specification.null
null
.LSSerializer
interface. The output
is written to the supplied LSOutput
.
LSOutput
, the encoding is found by
looking at the encoding information that is reachable through the
LSOutput
and the item to be written (or its owner
document) in this order:
LSOutput.encoding
,
Document.actualEncoding
,
Document.xmlEncoding
.
LSOutput
, a
"no-output-specified" error is raised.Parameters: node The node to serialize. destination The destination for the serialized DOM.
Returns: Returns true
if node
was
successfully serialized and false
in case the node
couldn't be serialized.
LSSerializer
. The result of serializing the node is
returned as a string. Writing a Document or Entity node produces a
serialized form that is well formed XML. Writing other node types
produces a fragment of text in a form that is not fully defined by
this document, but that should be useful to a human for debugging or
diagnostic purposes.Parameters: wnode The node to be written.
Returns: Returns the serialized data
Throws: DOMException
DOMSTRING_SIZE_ERR: The resulting string is too long to fit in a
DOMString
. LSException
SERIALIZE_ERR: Unable to serialize the node. DOM applications should
attach a DOMErrorHandler
using the parameter
"error-handler" to get details on error.
LSSerializer
interface. The output
is written to the supplied URI.
Document.inputEncoding
,
Document.xmlEncoding
.
Parameters: node The node to serialize. URI The URI to write to.
Returns: Returns true
if node
was
successfully serialized and false
in case the node
couldn't be serialized.