Class XmlWriter


  • public class XmlWriter
    extends Object
    A class for writing XML to a character stream.
    Author:
    Thomas Morgner
    • Constructor Detail

      • XmlWriter

        public XmlWriter​(Writer writer)
        Creates a new XML writer for the specified character stream. By default, four spaces are used for indentation.
        Parameters:
        writer - the character stream.
      • XmlWriter

        public XmlWriter​(Writer writer,
                         TagDescription tagDescription)
        Default Constructor. The created XMLWriterSupport will not have no safe tags and starts with an indention level of 0.
        Parameters:
        writer - the character stream.
        tagDescription - the tags that are safe for line breaks.
      • XmlWriter

        public XmlWriter​(Writer writer,
                         String indentString)
        Creates a new XML writer for the specified character stream.
        Parameters:
        writer - the character stream.
        indentString - the string used for indentation (should contain white space, for example four spaces).
      • XmlWriter

        public XmlWriter​(Writer writer,
                         TagDescription tagDescription,
                         String indentString)
        Creates a new XMLWriter instance.
        Parameters:
        writer - the character stream.
        tagDescription - the tags that are safe for line breaks.
        indentString - the indent string.
      • XmlWriter

        public XmlWriter​(Writer writer,
                         TagDescription tagDescription,
                         String indentString,
                         String lineSeparator)
        Creates a new XMLWriter instance.
        Parameters:
        writer - the character stream.
        tagDescription - the tags that are safe for line breaks.
        indentString - the indent string.
        lineSeparator - the line separator to be used.
    • Method Detail

      • writeXmlDeclaration

        public void writeXmlDeclaration​(String encoding)
                                 throws IOException
        Writes the XML declaration that usually appears at the top of every XML file.
        Parameters:
        encoding - the encoding that should be declared (this has to match the encoding of the writer, or funny things may happen when parsing the xml file later).
        Throws:
        IOException - if there is a problem writing to the character stream.
      • writeTag

        public void writeTag​(String namespace,
                             String name,
                             boolean close)
                      throws IOException
        Writes an opening XML tag that has no attributes.
        Parameters:
        namespace - the namespace URI for the element
        name - the tag name.
        close - a flag that controls whether or not the tag is closed immediately.
        Throws:
        IOException - if there is an I/O problem.
      • writeCloseTag

        public void writeCloseTag()
                           throws IOException
        Writes a closing XML tag.
        Throws:
        IOException - if there is an I/O problem.
      • writeTag

        public void writeTag​(String namespace,
                             String name,
                             String attributeName,
                             String attributeValue,
                             boolean close)
                      throws IOException
        Writes an opening XML tag with an attribute/value pair.
        Parameters:
        namespace - the namespace URI for the element
        name - the tag name.
        attributeName - the attribute name.
        attributeValue - the attribute value.
        close - controls whether the tag is closed.
        Throws:
        IOException - if there is an I/O problem.
      • writeTag

        public void writeTag​(String namespace,
                             String name,
                             AttributeList attributes,
                             boolean close)
                      throws IOException
        Writes an opening XML tag along with a list of attribute/value pairs.
        Parameters:
        namespace - the namespace URI for the element
        name - the tag name.
        attributes - the attributes.
        close - controls whether the tag is closed.
        Throws:
        IOException - if there is an I/O problem.
      • writeText

        public void writeText​(String text)
                       throws IOException
        Writes some text to the character stream.
        Parameters:
        text - the text.
        Throws:
        IOException - if there is a problem writing to the character stream.
      • writeTextNormalized

        public void writeTextNormalized​(String s,
                                        boolean transformNewLine)
                                 throws IOException
        Writes the given text into the stream using a streaming xml-normalization method.
        Parameters:
        s - the string to be written.
        transformNewLine - whether to encode newlines using character-entities.
        Throws:
        IOException - if an IO error occured.
      • writeStream

        public void writeStream​(Reader reader)
                         throws IOException
        Copies the given reader to the character stream. This method should be used for large chunks of data.
        Parameters:
        reader - the reader providing the text.
        Throws:
        IOException - if there is a problem writing to the character stream.
      • close

        public void close()
                   throws IOException
        Closes the underlying character stream.
        Throws:
        IOException - if there is a problem closing the character stream.
      • writeComment

        public void writeComment​(String comment)
                          throws IOException
        Writes a comment into the generated xml file.
        Parameters:
        comment - the comment text
        Throws:
        IOException - if there is a problem writing to the character stream.
      • writeNewLine

        public void writeNewLine()
                          throws IOException
        Writes a linebreak to the writer.
        Throws:
        IOException - if there is a problem writing to the character stream.
      • flush

        public void flush()
                   throws IOException
        Flushs the underlying writer.
        Throws:
        IOException - if something goes wrong.
      • isNamespaceDefined

        public boolean isNamespaceDefined​(String namespace)
      • setAlwaysAddNamespace

        public void setAlwaysAddNamespace​(boolean b)
      • addImpliedNamespace

        public void addImpliedNamespace​(String uri,
                                        String prefix)
      • setAssumeDefaultNamespace

        public void setAssumeDefaultNamespace​(boolean assumeDefaultNamespace)
      • isAssumeDefaultNamespace

        public boolean isAssumeDefaultNamespace()
      • isAlwaysAddNamespace

        public boolean isAlwaysAddNamespace()
      • setHtmlCompatiblityMode

        public void setHtmlCompatiblityMode​(boolean htmlCompatiblityMode)
      • isHtmlCompatiblityMode

        public boolean isHtmlCompatiblityMode()
      • setWriteFinalLinebreak

        public void setWriteFinalLinebreak​(boolean writeFinalLinebreak)
      • isWriteFinalLinebreak

        public boolean isWriteFinalLinebreak()
      • setEncoding

        public void setEncoding​(String encoding)
      • setLineEmpty

        public void setLineEmpty​(boolean lineEmpty)
      • isLineEmpty

        public boolean isLineEmpty()
      • isNamespacePrefixDefined

        public boolean isNamespacePrefixDefined​(String prefix)
      • getAdditionalIndent

        public int getAdditionalIndent()
      • setAdditionalIndent

        public void setAdditionalIndent​(int additionalIndent)