Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tools.ant.util
Class DOMElementWriter

    java.lang.Object
      |
      +--org.apache.tools.ant.util.DOMElementWriter

public class DOMElementWriter
extends java.lang.Object

Writes a DOM tree to a given Writer.

Utility class used by `XmlLogger` and org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter XMLJUnitResultFormatter}.

Field Summary
`protected java.lang.String[]` | `knownEntities` Don't try to be too smart but at least recognize the predefined entities.

Constructor Summary
`DOMElementWriter()`

Method Summary
`void` | `closeElement(org.w3c.dom.Element element, java.io.Writer out, int indent, java.lang.String indentWith, boolean hasChildren)` Writes a DOM tree to a stream.
`java.lang.String` | `encode(java.lang.String value)` Escape <, > & ', " as their entities and drop characters that are illegal in XML documents.
`java.lang.String` | `encodedata(java.lang.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(java.lang.String ent)` Is the given argument a character or entity reference?
`void` | `openElement(org.w3c.dom.Element element, java.io.Writer out, int indent, java.lang.String indentWith)` Writes the opening tag - including all attributes - correspondong to a DOM element.
`void` | `write(org.w3c.dom.Element root, java.io.OutputStream out)` Writes a DOM tree to a stream in UTF8 encoding.
`void` | `write(org.w3c.dom.Element element, java.io.Writer out, int indent, java.lang.String indentWith)` Writes a DOM tree to a stream.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### knownEntities

    protected java.lang.String[] knownEntities

  Don't try to be too smart but at least recognize the predefined entities.

Constructor Detail

### DOMElementWriter

    public DOMElementWriter()

Method Detail

### write

    public void write(org.w3c.dom.Element root,
                      java.io.OutputStream out)
               throws java.io.IOException

  Writes a DOM tree to a stream in UTF8 encoding. Note that it prepends the <?xml version='1.0' encoding='UTF-8'?>. The indent number is set to 0 and a 2-space indent.

  Parameters:
    `root` - the root element of the DOM tree.
    `out` - the outputstream to write to.
  Throws:
    `java.io.IOException` - if an error happens while writing to the stream.

### write

    public void write(org.w3c.dom.Element element,
                      java.io.Writer out,
                      int indent,
                      java.lang.String indentWith)
               throws java.io.IOException

  Writes a DOM tree to a 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:
    `java.io.IOException` - if an error happens while writing to the stream.

### openElement

    public void openElement(org.w3c.dom.Element element,
                            java.io.Writer out,
                            int indent,
                            java.lang.String indentWith)
                     throws java.io.IOException

  Writes the opening tag - including all attributes - correspondong to a DOM element.

  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:
    `java.io.IOException` - if an error happens while writing to the stream.

### closeElement

    public void closeElement(org.w3c.dom.Element element,
                             java.io.Writer out,
                             int indent,
                             java.lang.String indentWith,
                             boolean hasChildren)
                      throws java.io.IOException

  Writes a DOM tree to a 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:
    `java.io.IOException` - if an error happens while writing to the stream.

### encode

    public java.lang.String encode(java.lang.String value)

  Escape <, > & ', " as their entities and drop characters that are illegal in XML documents.

### encodedata

    public java.lang.String encodedata(java.lang.String value)

  Drop characters that are illegal in XML documents.

  Also ensure that we are not including an `]]>` marker by replacing that sequence with `&#x5d;&#x5d;&gt;`.

  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.

### isReference

    public boolean isReference(java.lang.String ent)

  Is the given argument a character or entity reference?

### isLegalCharacter

    public boolean isLegalCharacter(char c)

  Is the given character allowed inside an XML document?

  See XML 1.0 2.2 http://www.w3.org/TR/1998/REC-xml-19980210#charsets.

  Since:
    1.10, Ant 1.5

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.