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 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
isNCNameStartChar(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.
-
-
-
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)
-
-