org.apache.tools.ant.util
public class DOMElementWriter extends Object
Utility class used by
XmlLogger
and
org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter
XMLJUnitResultFormatter}.
Nested Class Summary | |
---|---|
static class | DOMElementWriter.XmlNamespacePolicy
Whether namespaces should be ignored for elements and attributes.
|
Field Summary | |
---|---|
protected String[] | knownEntities
Don't try to be too smart but at least recognize the predefined
entities. |
Constructor Summary | |
---|---|
DOMElementWriter()
Create an element writer.
| |
DOMElementWriter(boolean xmlDeclaration)
Create an element writer
XML namespaces will be ignored. | |
DOMElementWriter(boolean xmlDeclaration, DOMElementWriter.XmlNamespacePolicy namespacePolicy)
Create an element writer
XML namespaces will be ignored. |
Method Summary | |
---|---|
void | closeElement(Element element, Writer out, int indent, String indentWith, boolean hasChildren)
Writes a DOM tree to a stream.
|
String | encode(String value)
Escape <, > & ', " as their entities and
drop characters that are illegal in XML documents. |
String | encodeAttributeValue(String value)
Escape <, > & ', " as their entities, \n,
\r and \t as numeric entities and drop characters that are
illegal in XML documents. |
String | encodedata(String value)
Drop characters that are illegal in XML documents.
|
boolean | isLegalCharacter(char c)
Is the given character allowed inside an XML document?
|
boolean | isReference(String ent)
Is the given argument a character or entity reference? |
void | openElement(Element element, Writer out, int indent, String indentWith)
Writes the opening tag - including all attributes -
corresponding to a DOM element.
|
void | openElement(Element element, Writer out, int indent, String indentWith, boolean hasChildren)
Writes the opening tag - including all attributes -
corresponding to a DOM element.
|
void | write(Element root, OutputStream out)
Writes a DOM tree to a stream in UTF8 encoding. |
void | write(Element element, Writer out, int indent, String indentWith)
Writes a DOM tree to a stream.
|
void | writeXMLDeclaration(Writer wri)
Writes the XML declaration if xmlDeclaration is true. |
Parameters: xmlDeclaration flag to indicate whether the ?xml? declaration should be included.
Since: Ant1.7
Parameters: xmlDeclaration flag to indicate whether the ?xml? declaration should be included. namespacePolicy the policy to use.
Since: Ant1.7
Parameters: element the Root DOM element of the tree out where to send the output indent number of indentWith string that should be used to indent the corresponding tag. hasChildren if true indent.
Throws: IOException if an error happens while writing to the stream.
Parameters: value the string to encode.
Returns: the encoded string.
Parameters: value the string to encode.
Returns: the encoded string.
Also ensure that we are not including an ]]>
marker by replacing that sequence with
]]>
.
See XML 1.0 2.2 http://www.w3.org/TR/1998/REC-xml-19980210#charsets and 2.7 http://www.w3.org/TR/1998/REC-xml-19980210#sec-cdata-sect.
Parameters: value the value to be encoded.
Returns: the encoded value.
See XML 1.0 2.2 http://www.w3.org/TR/1998/REC-xml-19980210#charsets.
Parameters: c the character to test.
Returns: true if the character is allowed.
Since: 1.10, Ant 1.5
Parameters: ent the value to be checked.
Returns: true if it is an entity.
Parameters: element the DOM element to write out where to send the output indent number of indentWith string that should be used to indent the corresponding tag.
Throws: IOException if an error happens while writing to the stream.
Parameters: element the DOM element to write out where to send the output indent number of indentWith string that should be used to indent the corresponding tag. hasChildren whether this element has children.
Throws: IOException if an error happens while writing to the stream.
Since: Ant 1.7
Parameters: root the root element of the DOM tree. out the outputstream to write to.
Throws: IOException if an error happens while writing to the stream.
Parameters: element the Root DOM element of the tree out where to send the output indent number of indentWith string that should be used to indent the corresponding tag.
Throws: IOException if an error happens while writing to the stream.
Parameters: wri the writer to write to.
Throws: IOException if there is an error.
Since: Ant 1.7.0