Package org.eclipse.rdf4j.common.xml
Class XMLUtil
- java.lang.Object
-
- org.eclipse.rdf4j.common.xml.XMLUtil
-
public class XMLUtil extends Object
Utility methods for handling and processing XML data.
-
-
Constructor Summary
Constructors Constructor Description XMLUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringescapeAttributeValue(String value)Escapes all characters that have a special meaning in XML attribute values -- i.e.static StringescapeCharacterData(String text)Escapes any special characters in the supplied text so that it can be included as character data in an XML document.static StringescapeDoubleQuotedAttValue(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 StringescapeSingleQuotedAttValue(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 StringescapeText(String text)Escapes all characters that have a special meaning in XML text -- i.e.static intfindURISplitIndex(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 booleanisCombiningChar(char c)static booleanisDigit(char c)static booleanisExtender(char c)static booleanisIdeographic(char c)static booleanisLetter(char c)static booleanisNCName(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 booleanisNCNameChar(char c)static booleanisNCNameStartChar(char c)static booleanisValidCharacterDataChar(char c)Returns whether the specified character can appear in XML character data.static booleanisValidCharacterDataChar(int c)Returns whether the specified character can appear in XML character data.static StringremoveInvalidCharacterDataChars(String s)Removes all non-valid XML character data chars from the specified String.static StringresolveEntities(String text)Replaces all XML character entities with the character they represent.static StringresolveEntity(String entName)Resolves an entity reference or character reference to its value.
-
-
-
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 .
-
isNCNameStartChar
public static final boolean isNCNameStartChar(char c)
-
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)
-
-