public class XMLChar
extends java.lang.Object
A series of convenience methods are supplied to ease the burden
of the developer. Because inlining the checks can improve per
character performance, the tables of character properties are
public. Using the character as an index into the CHARS
array and applying the appropriate mask flag (e.g.
MASK_VALID
), yields the same results as calling the
convenience methods. There is one exception: check the comments
for the isValid
method for details.
Modifier and Type | Field and Description |
---|---|
static int |
MASK_CONTENT
Content character mask.
|
static int |
MASK_NAME
Name character mask.
|
static int |
MASK_NAME_START
Name start character mask.
|
static int |
MASK_NCNAME
NCName character mask.
|
static int |
MASK_NCNAME_START
NCName start character mask.
|
static int |
MASK_PUBID
Pubid character mask.
|
static int |
MASK_SPACE
Space character mask.
|
static int |
MASK_VALID
Valid character mask.
|
Constructor and Description |
---|
XMLChar() |
Modifier and Type | Method and Description |
---|---|
static char |
highSurrogate(int c)
Returns the high surrogate of a supplemental character
|
static boolean |
isContent(int c)
Returns true if the specified character can be considered content.
|
static boolean |
isHighSurrogate(int c)
Returns whether the given character is a high surrogate
|
static boolean |
isInvalid(int c)
Returns true if the specified character is invalid.
|
static boolean |
isLowSurrogate(int c)
Returns whether the given character is a low surrogate
|
static boolean |
isMarkup(int c)
Returns true if the specified character can be considered markup.
|
static boolean |
isName(int c)
Returns true if the specified character is a valid name
character as defined by production [4] in the XML 1.0
specification.
|
static boolean |
isNameStart(int c)
Returns true if the specified character is a valid name start
character as defined by production [5] in the XML 1.0
specification.
|
static boolean |
isNCName(int c)
Returns true if the specified character is a valid NCName
character as defined by production [5] in Namespaces in XML
recommendation.
|
static boolean |
isNCNameStart(int c)
Returns true if the specified character is a valid NCName start
character as defined by production [4] in Namespaces in XML
recommendation.
|
static boolean |
isPubid(int c)
Returns true if the specified character is a valid Pubid
character as defined by production [13] in the XML 1.0
specification.
|
static boolean |
isSpace(int c)
Returns true if the specified character is a space character
as defined by production [3] in the XML 1.0 specification.
|
static boolean |
isSupplemental(int c)
Returns true if the specified character is a supplemental character.
|
static boolean |
isValid(int c)
Returns true if the specified character is valid.
|
static boolean |
isValidIANAEncoding(java.lang.String ianaEncoding)
Returns true if the encoding name is a valid IANA encoding.
|
static boolean |
isValidJavaEncoding(java.lang.String javaEncoding)
Returns true if the encoding name is a valid Java encoding.
|
static boolean |
isValidName(java.lang.String name)
Check to see if a string is a valid Name according to [5]
in the XML 1.0 Recommendation
|
static boolean |
isValidNCName(java.lang.String ncName)
Check to see if a string is a valid NCName according to [4]
from the XML Namespaces 1.0 Recommendation
|
static boolean |
isValidNmtoken(java.lang.String nmtoken)
Check to see if a string is a valid Nmtoken according to [7]
in the XML 1.0 Recommendation
|
static char |
lowSurrogate(int c)
Returns the low surrogate of a supplemental character
|
static int |
supplemental(char h,
char l)
Returns true the supplemental character corresponding to the given
surrogates.
|
static java.lang.String |
trim(java.lang.String value)
Trims space characters as defined by production [3] in
the XML 1.0 specification from both ends of the given string.
|
public static final int MASK_VALID
public static final int MASK_SPACE
public static final int MASK_NAME_START
public static final int MASK_NAME
public static final int MASK_PUBID
public static final int MASK_CONTENT
This is an optimization for the inner loop of character scanning.
public static final int MASK_NCNAME_START
public static final int MASK_NCNAME
public static boolean isSupplemental(int c)
c
- The character to check.public static int supplemental(char h, char l)
h
- The high surrogate.l
- The low surrogate.public static char highSurrogate(int c)
c
- The supplemental character to "split".public static char lowSurrogate(int c)
c
- The supplemental character to "split".public static boolean isHighSurrogate(int c)
c
- The character to check.public static boolean isLowSurrogate(int c)
c
- The character to check.public static boolean isValid(int c)
If the program chooses to apply the mask directly to the
CHARS
array, then they are responsible for checking
the surrogate character range.
c
- The character to check.public static boolean isInvalid(int c)
c
- The character to check.public static boolean isContent(int c)
c
- The character to check.public static boolean isMarkup(int c)
c
- The character to check.public static boolean isSpace(int c)
c
- The character to check.public static boolean isNameStart(int c)
c
- The character to check.public static boolean isName(int c)
c
- The character to check.public static boolean isNCNameStart(int c)
c
- The character to check.public static boolean isNCName(int c)
c
- The character to check.public static boolean isPubid(int c)
c
- The character to check.public static boolean isValidName(java.lang.String name)
name
- string to checkpublic static boolean isValidNCName(java.lang.String ncName)
ncName
- string to checkpublic static boolean isValidNmtoken(java.lang.String nmtoken)
nmtoken
- string to checkpublic static boolean isValidIANAEncoding(java.lang.String ianaEncoding)
ianaEncoding
- The IANA encoding name.public static boolean isValidJavaEncoding(java.lang.String javaEncoding)
javaEncoding
- The Java encoding name.public static java.lang.String trim(java.lang.String value)
value
- the string to be trimmedCopyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.