Class XMLEncoder
java.lang.Object
org.znerd.xmlenc.XMLEncoder
Encodes character streams for an XML document.
The following encodings are supported:
UTF-8UTF-16US-ASCII, with aliasASCII- all
ISO-8859encodings
- 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)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidWrites an attribute assignment.voiddeclaration(Writer out) Writes an XML declaration.static final XMLEncodergetEncoder(String encoding) Retrieves anXMLEncoderfor the specified encoding.Returns the encoding.voidDeprecated.Deprecated since xmlenc 0.51.voidWrites text from the specified character array.voidWrites the specified character.voidWrites the specified text.voidwhitespace(Writer out, char[] ch, int start, int length) Writes whitespace from the specified character array.voidwhitespace(Writer out, String s) Writes the specified whitespace string.
-
Constructor Details
-
XMLEncoder
Deprecated.Deprecated since xmlenc 0.47. Use the factory methodgetEncoder(String)instead.Constructs a newXMLEncoderinstance.- Parameters:
encoding- the name of the encoding, notnull.- Throws:
IllegalArgumentException- ifencoding == null.UnsupportedEncodingException- if the specified encoding is not supported.
-
-
Method Details
-
getEncoder
public static final XMLEncoder getEncoder(String encoding) throws IllegalArgumentException, UnsupportedEncodingException Retrieves anXMLEncoderfor the specified encoding. If no suitable instance can be returned, then an exception is thrown.- Parameters:
encoding- the name of the encoding, notnull.- Returns:
- an
XMLEncoderinstance that matches the specified encoding, nevernull. - Throws:
IllegalArgumentException- ifencoding == null.UnsupportedEncodingException- if the specified encoding is not supported.
-
getEncoding
Returns the encoding.- Returns:
- the encoding passed to the constructor, never
null.
-
declaration
Writes an XML declaration.- Parameters:
out- the character stream to write to, notnull.- Throws:
NullPointerException- ifout == null.IOException- if an I/O error occurs.
-
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, notnull.text- the text to be written, notnull.escapeAmpersands- flag that indicates whether ampersands should be escaped.- Throws:
NullPointerException- ifout == 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, notnull.ch- the character array from which to retrieve the text to be written, notnull.start- the start index intoch, must be >= 0.length- the number of characters to take fromch, starting at thestartindex.escapeAmpersands- flag that indicates if ampersands should be escaped.- Throws:
NullPointerException- ifout == null || ch == null.IndexOutOfBoundsException- ifstart < 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
Deprecated.Deprecated since xmlenc 0.51. Use the text methodtext(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, notnull.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, notnull.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, String s) throws NullPointerException, InvalidXMLException, IOException Writes the specified whitespace string.- Parameters:
out- the character stream to write to, notnull.s- the character string to be written, notnull.- Throws:
NullPointerException- ifout == null || s == null.InvalidXMLException- if the specified character string contains a character that is invalid as whitespace.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, notnull.ch- the character array from which to retrieve the text to be written, notnull.start- the start index intoch, must be >= 0.length- the number of characters to take fromch, starting at thestartindex.- Throws:
NullPointerException- ifout == null || ch == null.IndexOutOfBoundsException- ifstart < 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, notnull.name- the name of the attribute, notnull.value- the value of the attribute, notnull.quotationMark- the quotation mark, must be either the apostrophe ('\'') or the quote character ('"').- Throws:
NullPointerException- ifout == null || value == null.IllegalArgumentException- ifquotationMark != '\'' && quotationMark != '"'.IOException- if an I/O error occurs.
-