info.aduna.xml
Class XMLUtil

java.lang.Object
  extended by info.aduna.xml.XMLUtil

public class XMLUtil
extends Object

Utility methods for handling and processing XML data.


Constructor Summary
XMLUtil()
           
 
Method Summary
static String escapeAttributeValue(String value)
          Escapes all characters that have a special meaning in XML attribute values -- i.e.
static String escapeCharacterData(String text)
          Escapes any special characters in the supplied text so that it can be included as character data in an XML document.
static String escapeDoubleQuotedAttValue(String value)
          Escapes any special characters in the supplied value so that it can be used as an double-quoted attribute value in an XML document.
static String escapeSingleQuotedAttValue(String value)
          Escapes any special characters in the supplied value so that it can be used as an single-quoted attribute value in an XML document.
static String escapeText(String text)
          Escapes all characters that have a special meaning in XML text -- i.e.
static int findURISplitIndex(String uri)
          Tries to find a point in the supplied URI where this URI can be safely split into a namespace part and a local name.
static boolean isCombiningChar(char c)
           
static boolean isDigit(char c)
           
static boolean isExtender(char c)
           
static boolean isIdeographic(char c)
           
static boolean isLetter(char c)
           
static boolean isNCName(String name)
          Checks whether the supplied String is an NCName (Namespace Classified Name) as specified at http://www.w3.org/TR/REC-xml-names/#NT-NCName.
static boolean isNCNameChar(char c)
           
static boolean isValidCharacterDataChar(char c)
          Returns whether the specified character can appear in XML character data.
static boolean isValidCharacterDataChar(int c)
          Returns whether the specified character can appear in XML character data.
static String removeInvalidCharacterDataChars(String s)
          Removes all non-valid XML character data chars from the specified String.
static String resolveEntities(String text)
          Replaces all XML character entities with the character they represent.
static String resolveEntity(String entName)
          Resolves an entity reference or character reference to its value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLUtil

public XMLUtil()
Method Detail

escapeCharacterData

public static String escapeCharacterData(String text)
Escapes any special characters in the supplied text so that it can be included as character data in an XML document. The characters that are escaped are &, <, > and carriage return (\r).


escapeDoubleQuotedAttValue

public static String escapeDoubleQuotedAttValue(String value)
Escapes any special characters in the supplied value so that it can be used as an double-quoted attribute value in an XML document. The characters that are escaped are &, <, >, tab (\t), carriage return (\r), line feed (\n) and ".


escapeSingleQuotedAttValue

public static String escapeSingleQuotedAttValue(String value)
Escapes any special characters in the supplied value so that it can be used as an single-quoted attribute value in an XML document. The characters that are escaped are &, <, >, tab (\t), carriage return (\r), line feed (\n) and '.


resolveEntities

public static String resolveEntities(String text)
Replaces all XML character entities with the character they represent.


resolveEntity

public static String resolveEntity(String entName)
Resolves an entity reference or character reference to its value.

Parameters:
entName - The 'name' of the reference. This is the string between & and ;, e.g. amp, quot, #65 or #x41.
Returns:
The value of the supplied reference, or the reference itself if it could not be resolved.

findURISplitIndex

public static int findURISplitIndex(String uri)
Tries to find a point in the supplied URI where this URI can be safely split into a namespace part and a local name. According to the XML specifications, a local name must start with a letter or underscore and can be followed by zero or more 'NCName' characters.

Parameters:
uri - The URI to split.
Returns:
The index of the first character of the local name, or -1 if the URI can not be split into a namespace and local name.

isNCName

public static final boolean isNCName(String name)
Checks whether the supplied String is an NCName (Namespace Classified Name) as specified at http://www.w3.org/TR/REC-xml-names/#NT-NCName.


isNCNameChar

public static final boolean isNCNameChar(char c)

escapeAttributeValue

public static String escapeAttributeValue(String value)
Escapes all characters that have a special meaning in XML attribute values -- i.e. &, <, >, " and ' -- with their entities.

See Also:
resolveEntities(java.lang.String)

escapeText

public static String escapeText(String text)
Escapes all characters that have a special meaning in XML text -- i.e. &, < and > -- with their entities.

See Also:
resolveEntities(java.lang.String)

isValidCharacterDataChar

public static boolean isValidCharacterDataChar(char c)
Returns whether the specified character can appear in XML character data.


isValidCharacterDataChar

public static boolean isValidCharacterDataChar(int c)
Returns whether the specified character can appear in XML character data. The integer encoding also makes the representation of supplementary Unicode characters possible.


removeInvalidCharacterDataChars

public static String removeInvalidCharacterDataChars(String s)
Removes all non-valid XML character data chars from the specified String. If all characters are valid character data chars, this method will return the same String.


isLetter

public static final boolean isLetter(char c)

isIdeographic

public static final boolean isIdeographic(char c)

isCombiningChar

public static final boolean isCombiningChar(char c)

isDigit

public static final boolean isDigit(char c)

isExtender

public static final boolean isExtender(char c)


Copyright © 2010 Aduna. All Rights Reserved.