Class XMLEncoder


  • public class XMLEncoder
    extends Object
    Encodes character streams for an XML document.

    The following encodings are supported:

    • UTF-8
    • UTF-16
    • US-ASCII, with alias ASCII
    • all ISO-8859 encodings
    Since:
    xmlenc 0.1
    Version:
    $Revision: 1.210 $ $Date: 2005/10/24 09:54:53 $
    Author:
    Ernst de Haan (ernst.dehaan@nl.wanadoo.com), Jochen Schwoerer (j.schwoerer [at] web.de), Anthony Goubard (anthony.goubard@nl.wanadoo.com)
    • Method Detail

      • getEncoding

        public String getEncoding()
        Returns the encoding.
        Returns:
        the encoding passed to the constructor, never null.
      • text

        public void text​(Writer out,
                         String text,
                         boolean escapeAmpersands)
                  throws NullPointerException,
                         InvalidXMLException,
                         IOException
        Writes the specified text. Any characters that are non-printable in this encoding will be escaped.

        It must be specified whether ampersands should be escaped. Unless ampersands are escaped, entity references can be written.

        Parameters:
        out - the character stream to write to, not null.
        text - the text to be written, not null.
        escapeAmpersands - flag that indicates whether ampersands should be escaped.
        Throws:
        NullPointerException - if out == null || text == null.
        InvalidXMLException - if the specified text contains an invalid character.
        IOException - if an I/O error occurs.
      • text

        public void text​(Writer out,
                         char[] ch,
                         int start,
                         int length,
                         boolean escapeAmpersands)
                  throws NullPointerException,
                         IndexOutOfBoundsException,
                         InvalidXMLException,
                         IOException
        Writes text from the specified character array. Any characters that are non-printable in this encoding will be escaped.

        It must be specified whether ampersands should be escaped. Unless ampersands are escaped, entity references can be written.

        Parameters:
        out - the character stream to write to, not null.
        ch - the character array from which to retrieve the text to be written, not null.
        start - the start index into ch, must be >= 0.
        length - the number of characters to take from ch, starting at the start index.
        escapeAmpersands - flag that indicates if ampersands should be escaped.
        Throws:
        NullPointerException - if out == null || ch == null.
        IndexOutOfBoundsException - if start < 0 || start + length > ch.length; this may not be checked before the character stream is written to, so this may cause a partial failure.
        InvalidXMLException - if the specified text contains an invalid character.
        IOException - if an I/O error occurs.
      • text

        public void text​(Writer out,
                         char c)
                  throws InvalidXMLException,
                         IOException
        Deprecated.
        Deprecated since xmlenc 0.51. Use the text method text(Writer, char, boolean) instead.
        Writes the specified character. If the character is non-printable in this encoding, then it will be escaped.

        It is safe for this method to assume that the specified character does not need to be escaped unless the encoding does not support the character.

        Parameters:
        out - the character stream to write to, not null.
        c - the character to be written.
        Throws:
        InvalidXMLException - if the specified text contains an invalid character.
        IOException - if an I/O error occurs.
      • text

        public void text​(Writer out,
                         char c,
                         boolean escapeAmpersands)
                  throws InvalidXMLException,
                         IOException
        Writes the specified character. If the character is non-printable in this encoding, then it will be escaped.

        It is safe for this method to assume that the specified character does not need to be escaped unless the encoding does not support the character.

        Parameters:
        out - the character stream to write to, not null.
        c - the character to be written.
        escapeAmpersands - flag that indicates if ampersands should be escaped.
        Throws:
        InvalidXMLException - if the specified text contains an invalid character.
        IOException - if an I/O error occurs.
      • whitespace

        public void whitespace​(Writer out,
                               char[] ch,
                               int start,
                               int length)
                        throws NullPointerException,
                               IndexOutOfBoundsException,
                               InvalidXMLException,
                               IOException
        Writes whitespace from the specified character array.
        Parameters:
        out - the character stream to write to, not null.
        ch - the character array from which to retrieve the text to be written, not null.
        start - the start index into ch, must be >= 0.
        length - the number of characters to take from ch, starting at the start index.
        Throws:
        NullPointerException - if out == null || ch == null.
        IndexOutOfBoundsException - if start < 0 || start + length > ch.length; this may not be checked before the character stream is written to, so this may cause a partial failure.
        InvalidXMLException - if the specified character array contains a character that is invalid as whitespace.
        IOException - if an I/O error occurs.
      • attribute

        public void attribute​(Writer out,
                              String name,
                              String value,
                              char quotationMark,
                              boolean escapeAmpersands)
                       throws NullPointerException,
                              IOException
        Writes an attribute assignment.
        Parameters:
        out - the character stream to write to, not null.
        name - the name of the attribute, not null.
        value - the value of the attribute, not null.
        quotationMark - the quotation mark, must be either the apostrophe ('\'') or the quote character ('"').
        Throws:
        NullPointerException - if out == null || value == null.
        IllegalArgumentException - if quotationMark != '\'' && quotationMark != '"'.
        IOException - if an I/O error occurs.