org.apache.xml.serialize
Class DOMSerializerImpl
java.lang.Object
org.apache.xml.serialize.DOMSerializerImpl
- DOMConfiguration, LSSerializer
public class DOMSerializerImpl
extends java.lang.Object
implements LSSerializer, DOMConfiguration
EXPERIMENTAL: Implemenatation of DOM Level 3 org.w3c.ls.LSSerializer by delegating serialization
calls to 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.
$Id: DOMSerializerImpl.java,v 1.36 2005/06/13 22:26:42 nddelima Exp $- Elena Litani, IBM
- Gopal Sharma, Sun Microsystems
- Arun Yadav, Sun Microsystems
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.
|
CDATA
protected static final short CDATA
COMMENTS
protected static final short COMMENTS
DISCARDDEFAULT
protected static final short DISCARDDEFAULT
DOM_ELEMENT_CONTENT_WHITESPACE
protected static final short DOM_ELEMENT_CONTENT_WHITESPACE
ENTITIES
protected static final short ENTITIES
INFOSET
protected static final short INFOSET
NAMESPACES
protected static final short NAMESPACES
NSDECL
protected static final short NSDECL
SPLITCDATA
protected static final short SPLITCDATA
WELLFORMED
protected static final short WELLFORMED
XMLDECL
protected static final short XMLDECL
features
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.
DOMSerializerImpl
public DOMSerializerImpl()
Constructs a new LSSerializer.
The constructor turns on the namespace support in XMLSerializer
and
initializes the following fields: fNSBinder, fLocalNSBinder, fSymbolTable,
fEmptySymbol, fXmlSymbol, fXmlnsSymbol, fNamespaceCounter, fFeatures.
canSetParameter
public boolean canSetParameter(String name,
Object state)
DOM L3-EXPERIMENTAL:
Check if parameter can be set
getDomConfig
public DOMConfiguration getDomConfig()
getFilter
public LSSerializerFilter getFilter()
When the application provides a filter, the serializer will call out
to the filter before serializing each Node. Attribute nodes are never
passed to the filter. The filter implementation can choose to remove
the node from the stream or to terminate the serialization early.
getNewLine
public String getNewLine()
DOM L3 EXPERIMENTAL:
The end-of-line sequence of characters to be used in the XML being
written out. The only permitted values are these:
null
The default value for this attribute is
null
.
getParameter
public Object getParameter(String name)
throws DOMException
DOM L3-EXPERIMENTAL:
Getter for boolean and object parameters
getParameterNames
public DOMStringList getParameterNames()
DOM Level 3 Core CR - Experimental.
The list of the parameters supported by this
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.
setFilter
public void setFilter(LSSerializerFilter filter)
When the application provides a filter, the serializer will call out
to the filter before serializing each Node. Attribute nodes are never
passed to the filter. The filter implementation can choose to remove
the node from the stream or to terminate the serialization early.
setNewLine
public void setNewLine(String newLine)
DOM L3 EXPERIMENTAL:
The end-of-line sequence of characters to be used in the XML being
written out. The only permitted values are these:
null
The default value for this attribute is
null
.
setParameter
public void setParameter(String name,
Object value)
throws DOMException
DOM L3-EXPERIMENTAL:
Setter for boolean and object parameters
write
public boolean write(Node node,
LSOutput destination)
throws LSException
Serialize the specified node as described above in the general
description of the
LSSerializer
interface. The output
is written to the supplied
LSOutput
.
When writing to a
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
.
If no encoding is reachable through the above properties, a
default encoding of "UTF-8" will be used.
If the specified encoding is not supported an
"unsupported-encoding" error is raised.
If no output is specified in the
LSOutput
, a
"no-output-specified" error is raised.
node
- The node to serialize.destination
- The destination for the serialized DOM.
- Returns
true
if node
was
successfully serialized and false
in case the node
couldn't be serialized.
writeToString
public String writeToString(Node wnode)
throws DOMException,
LSException
DOM L3 EXPERIMENTAL:
Serialize the specified node as described above in the description of
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.
wnode
- The node to be written.
- Returns the serialized data
writeToURI
public boolean writeToURI(Node node,
String URI)
throws LSException
Serialize the specified node as described above in the general
description of the
LSSerializer
interface. The output
is written to the supplied URI.
When writing to a URI, the encoding is found by looking at the
encoding information that is reachable through the item to be written
(or its owner document) in this order:
-
Document.inputEncoding
,
-
Document.xmlEncoding
.
If no encoding is reachable through the above properties, a
default encoding of "UTF-8" will be used.
If the specified encoding is not supported an
"unsupported-encoding" error is raised.
node
- The node to serialize.URI
- The URI to write to.
- Returns
true
if node
was
successfully serialized and false
in case the node
couldn't be serialized.
Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.