Class XMLEscapeASCII

java.lang.Object
com.topologi.diffx.xml.esc.XMLEscapeBase
com.topologi.diffx.xml.esc.XMLEscapeASCII
All Implemented Interfaces:
XMLEscape

public final class XMLEscapeASCII extends XMLEscapeBase implements XMLEscape
A singleton for escaping XML data when using the 'ASCII' encoding.
Version:
16 January 2007
  • Field Details

    • ASCII_ESCAPE

      public static final XMLEscape ASCII_ESCAPE
      A static instance of the UTF8 escape class.
    • ENCODING

      private static final String ENCODING
      The encoding used for this instance.
      See Also:
  • Constructor Details

    • XMLEscapeASCII

      private XMLEscapeASCII()
      Prevent creation of instances
  • Method Details

    • toAttributeValue

      public String toAttributeValue(char[] ch, int off, int len)
      Replaces '<', '&', '"' and '\'' as well an any character that is not part of the standard unicode range.
       Char ::= #x9 | #xA | #xD |
                [#x20-#xD7FF] |
                [#xE000-#xFFFD] |
                [#x10000-#x10FFFF]
       
      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 '&amp' or '<. Quotes and apostrophes must also be escaped by "&quot;" and "&apos;" respectively.

      Specified by:
      toAttributeValue in interface XMLEscape
      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.
    • toElementText

      public String toElementText(char[] ch, int off, int len)
      Replace characters which are invalid in element values, by the corresponding entity in a given String.

      these characters are:

      • '&amp' by the ampersand entity "&amp"
      • '<' by the entity "&lt;"

      Empty strings or null return respectively "" and null.

      Note: this function assumes that there are no entities in the given String. If there are existing entities, then the ampersand character will be escaped by the ampersand entity. 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 '&amp' or '<.

      Specified by:
      toElementText in interface XMLEscape
      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.
    • doNothing

      private void doNothing()
      Does nothing.