com.topologi.diffx.xml.esc
Interface XMLEscape

All Known Implementing Classes:
XMLEscapeASCII, com.topologi.diffx.xml.esc.XMLEscapeBase, XMLEscapeUTF8

public interface XMLEscape

An interface to escape XML character data.

This interface assumes that the values to be escapes do not orignate from XML text, in order words, there should not be already any entity or markup in the document. If it is the case the methods in this class should also escapes them. Thus "&" would be represented as "&".

Also the method will not try to escape characters that cannot be escaped.

This interface is based on the paragraph 2.4 of the XML 1.0 Specifications.

Version:
7 March 2005
Author:
Christophe Lauret

Method Summary
 String getEncoding()
          Returns the encoding used by the implementing class.
 String toAttributeValue(char[] ch, int off, int len)
          Returns a well-formed attribute value.
 String toAttributeValue(String value)
          Returns a well-formed attribute value.
 String toElementText(char[] ch, int off, int len)
          Returns a well-formed text value for the element.
 String toElementText(String value)
          Returns a well-formed text value for the element.
 

Method Detail

toAttributeValue

public String toAttributeValue(char[] ch,
                               int off,
                               int len)
Returns a well-formed attribute value.

This method must replace any character in the specified value by the corresponding numeric character reference or the predefined XML general entities, if the character is not allowed or not in the encoding range.

Attribute values must not contain '&' or '<. Quotes and apostrophes must also be escaped by "&quot;" and "&apos;" respectively.

Parameters:
ch - The value that needs to be attribute-escaped.
off - The start (offset) of the characters.
len - The length of characters to.
Returns:
A well-formed value for the attribute.

toAttributeValue

public String toAttributeValue(String value)
Returns a well-formed attribute value.

Method provided for convenience, using the same specifications as toAttributeValue(char[], int, int).

This method should return null if the given value is null.

Parameters:
value - The value that needs to be attribute-escaped.
Returns:
A well-formed value for the attribute.

toElementText

public String toElementText(char[] ch,
                            int off,
                            int len)
Returns a well-formed text value for the element.

This method must replace any character in the specified value by the corresponding numeric character reference or the predefined XML general entities, if the character is not allowed or not in the encoding range.

The text of an element must not contain '&' or '<.

Parameters:
ch - The value that needs to be attribute-escaped.
off - The start (offset) of the characters.
len - The length of characters to.
Returns:
A well-formed value for the text node.

toElementText

public String toElementText(String value)
Returns a well-formed text value for the element.

Method provided for convenience, using the same specifications as toElementText(char[], int, int).

This method should return null if the given value is null.

Parameters:
value - The value that needs to be text-escaped.
Returns:
A well-formed value for the text node.

getEncoding

public String getEncoding()
Returns the encoding used by the implementing class.

Returns:
The encoding used by the implementing class.