public final class XMLText extends Object
Modifier and Type | Method and Description |
---|---|
static String |
checkId(String s)
Equivalent to
checkId(s, false, '_') . |
static String |
checkId(String s,
boolean keepStartNCNameChar,
char replacementChar)
Converts specified string to a valid, though not always unique, ID.
|
static boolean |
checkText(String text)
Returns
false if specified text contains non-XML
characters. |
static String |
collapseWhiteSpace(String value)
Replaces successive XML space characters by a single space character
(' ') then removes leading and trailing space characters
if any.
|
static String |
compressWhiteSpace(String value)
Replaces successive XML space characters ('\t', '\r',
'\n', ' ') by a single space character (' ').
|
static void |
escapeXML(char[] chars,
int offset,
int length,
StringBuilder escaped)
Escapes specified character array
(that is, '<' is replaced
by "<", '&' is replaced
by "&", etc).
|
static void |
escapeXML(char[] chars,
int offset,
int length,
StringBuilder escaped,
int maxCode)
Escapes specified character array (that is, '<' is replaced
by "<", '&' is replaced by
"&", etc).
|
static String |
escapeXML(String string)
Escapes specified string (that is,
'<' is replaced by "<",
'&' is replaced by "&", etc).
|
static void |
escapeXML(String string,
StringBuilder escaped)
Escapes specified string (that is,
'<' is replaced by "<",
'&' is replaced by "&", etc).
|
static String |
filterText(String text)
Returns a copy of specified text after removing all non-XML characters
(if any).
|
static boolean |
isName(String s)
Tests if specified string is a lexically correct Name.
|
static boolean |
isNameChar(char c)
Tests if specified character can used in an Name at a position other
the first one.
|
static boolean |
isNameOtherChar(char c)
Tests if specified character, even if not authorized as the first
character of an Name, can be one of the other characters of an
Name.
|
static boolean |
isNameStartChar(char c)
Tests if specified character can used as the start of an Name.
|
static boolean |
isNCName(String s)
Tests if specified string is a lexically correct NCName.
|
static boolean |
isNCNameChar(char c)
Tests if specified character can used in an NCName at a position other
the first one.
|
static boolean |
isNCNameOtherChar(char c)
Tests if specified character, even if not authorized as the first
character of an NCName, can be one of the other characters of an
NCName.
|
static boolean |
isNCNameStartChar(char c)
Tests if specified character can used as the start of an NCName.
|
static boolean |
isNmtoken(String s)
Tests if specified string is a lexically correct NMTOKEN.
|
static boolean |
isPITarget(String s)
Tests if specified string is a lexically correct target for a process
instruction.
|
static boolean |
isXMLChar(char c)
Tests if specified character is a character which can be contained in a
XML document.
|
static boolean |
isXMLSpace(char c)
Tests if specified character is a XML space ('\t',
'\r', '\n', ' ').
|
static boolean |
isXMLSpace(CharSequence chars)
Tests whether specified character sequence only contains XML space
('\t', '\r', '\n', ' ').
|
static String |
quoteXML(String string)
Escapes specified string (that is, '<' is replaced by
"<", '&' is replaced by
"&", etc) then puts the escaped string between
quotes (").
|
static void |
quoteXML(String string,
StringBuilder quoted)
Escapes specified string (that is,
'<' is replaced by "<",
'&' is replaced by "&", etc) then puts
the escaped string between quotes (").
|
static String |
replaceWhiteSpace(String value)
Replaces sequence "\r\n" and characters '\t',
'\r', '\n' by a single space character ' '.
|
static String[] |
splitList(String s)
Splits specified string at XML whitespace character boundaries
('\t', '\r', '\n', ' ').
|
static String |
unescapeXML(String text)
Unescapes specified string.
|
static void |
unescapeXML(String text,
int offset,
int length,
StringBuilder unescaped)
Unescapes specified string.
|
public static boolean isXMLSpace(char c)
c
- character to be testedtrue
if test is successful; false
otherwisepublic static boolean isXMLSpace(CharSequence chars)
chars
- character sequence to be testedtrue
if chars is empty or only contains XML
space; false
otherwisepublic static boolean isXMLChar(char c)
c
- character to be testedtrue
if test is successful; false
otherwisepublic static boolean checkText(String text)
false
if specified text contains non-XML
characters. Otherwise, return true
.public static String filterText(String text)
text
- text to be filteredpublic static boolean isNCNameStartChar(char c)
Corresponds to: Letter | '_'.
isNCNameOtherChar(char)
,
isNCNameChar(char)
public static boolean isNCNameOtherChar(char c)
Corresponds to: Digit | '.' | '-' | CombiningChar | Extender.
isNCNameStartChar(char)
,
isNCNameChar(char)
public static boolean isNCNameChar(char c)
Corresponds to: Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender.
isNCNameStartChar(char)
,
isNCNameOtherChar(char)
public static boolean isNCName(String s)
s
- string to be testedtrue
if test is successful; false
otherwisepublic static boolean isNameStartChar(char c)
Corresponds to: Letter | '_' | ':'.
isNameOtherChar(char)
,
isNameChar(char)
public static boolean isNameOtherChar(char c)
Corresponds to: Digit | '.' | '-' | ':' | CombiningChar | Extender.
isNameStartChar(char)
,
isNameChar(char)
public static boolean isNameChar(char c)
Corresponds to: Letter|Digit | '.' | '-' | '_' | ':' | CombiningChar|Extender.
isNameStartChar(char)
,
isNameOtherChar(char)
public static boolean isName(String s)
s
- string to be testedtrue
if test is successful; false
otherwisepublic static boolean isNmtoken(String s)
s
- string to be testedtrue
if test is successful; false
otherwisepublic static boolean isPITarget(String s)
Note that Names starting with "xml" (case-insensitive) are rejected.
s
- string to be testedtrue
if test is successful; false
otherwisepublic static String checkId(String s)
checkId(s, false, '_')
.public static String checkId(String s, boolean keepStartNCNameChar, char replacementChar)
_
" for an empty or null
string.s
- string to be checked as an NCName.keepStartNCNameChar
- if true and first char is an NCName, keep it
and prepend replacementChar to before it.replacementChar
- character used to replace invalid ones.
Must be a letter or '_'
.null
string.public static String collapseWhiteSpace(String value)
value
- string to be processedpublic static String compressWhiteSpace(String value)
value
- string to be processedpublic static String replaceWhiteSpace(String value)
value
- string to be processedpublic static String[] splitList(String s)
s
- string to be splitpublic static String quoteXML(String string)
string
- string to be escaped and quotedpublic static void quoteXML(String string, StringBuilder quoted)
string
- string to be escaped and quotedquoted
- buffer used to store escaped and quoted string
(characters are appended to this buffer)public static String escapeXML(String string)
string
- string to be escapedpublic static void escapeXML(String string, StringBuilder escaped)
string
- string to be escapedescaped
- buffer used to store escaped string (characters are
appended to this buffer)public static void escapeXML(char[] chars, int offset, int length, StringBuilder escaped)
chars
- character array to be escapedoffset
- specifies first character in array to be escapedlength
- number of characters in array to be escapedescaped
- buffer used to store escaped string (characters are
appended to this buffer)public static void escapeXML(char[] chars, int offset, int length, StringBuilder escaped, int maxCode)
chars
- character array to be escapedoffset
- specifies first character in array to be escapedlength
- number of characters in array to be escapedescaped
- buffer used to store escaped string (characters are
appended to this buffer)maxCode
- characters with code > maxCode are escaped as
&#code;.
Pass 127 for US-ASCII, 255 for ISO-8859-1, otherwise pass
Integer.MAX_VALUE
.public static String unescapeXML(String text)
escapeXML(java.lang.String)
.text
- string to be unescapedpublic static void unescapeXML(String text, int offset, int length, StringBuilder unescaped)
escapeXML(java.lang.String)
.text
- string to be unescapedoffset
- specifies first character in string to be unescapedlength
- number of characters in string to be unescapedunescaped
- buffer used to store unescaped string (characters are
appended to this buffer)