org.apache.xerces.util
Class XMLChar
java.lang.Object
org.apache.xerces.util.XMLChar
public class XMLChar
extends java.lang.Object
This class defines the basic XML character properties. The data
in this class can be used to verify that a character is a valid
XML character or if the character is a space, name start, or name
character.
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.
$Id: XMLChar.java 319864 2004-03-25 04:03:23Z mrglavas $- Glenn Marcy, IBM
- Andy Clark, IBM
- Eric Ye, IBM
- Arnaud Le Hors, IBM
- Michael Glavassevich, IBM
- Rahul Srivastava, Sun Microsystems Inc.
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 | 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 | 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 | 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(String ianaEncoding) - Returns true if the encoding name is a valid IANA encoding.
|
static boolean | isValidJavaEncoding(String javaEncoding) - Returns true if the encoding name is a valid Java encoding.
|
static boolean | isValidNCName(String ncName) - Check to see if a string is a valid NCName according to [4]
from the XML Namespaces 1.0 Recommendation
|
static boolean | isValidName(String name) - Check to see if a string is a valid Name according to [5]
in the XML 1.0 Recommendation
|
static boolean | isValidNmtoken(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.
|
MASK_CONTENT
public static final int MASK_CONTENT
Content character mask. Special characters are those that can
be considered the start of markup, such as '<' and '&'.
The various newline characters are considered special as well.
All other valid XML characters can be considered content.
This is an optimization for the inner loop of character scanning.
MASK_NAME
public static final int MASK_NAME
Name character mask.
MASK_NAME_START
public static final int MASK_NAME_START
Name start character mask.
MASK_NCNAME
public static final int MASK_NCNAME
NCName character mask.
MASK_NCNAME_START
public static final int MASK_NCNAME_START
NCName start character mask.
MASK_PUBID
public static final int MASK_PUBID
Pubid character mask.
MASK_SPACE
public static final int MASK_SPACE
Space character mask.
MASK_VALID
public static final int MASK_VALID
Valid character mask.
highSurrogate
public static char highSurrogate(int c)
Returns the high surrogate of a supplemental character
c
- The supplemental character to "split".
isContent
public static boolean isContent(int c)
Returns true if the specified character can be considered content.
c
- The character to check.
isHighSurrogate
public static boolean isHighSurrogate(int c)
Returns whether the given character is a high surrogate
c
- The character to check.
isInvalid
public static boolean isInvalid(int c)
Returns true if the specified character is invalid.
c
- The character to check.
isLowSurrogate
public static boolean isLowSurrogate(int c)
Returns whether the given character is a low surrogate
c
- The character to check.
isMarkup
public static boolean isMarkup(int c)
Returns true if the specified character can be considered markup.
Markup characters include '<', '&', and '%'.
c
- The character to check.
isNCName
public 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.
c
- The character to check.
isNCNameStart
public 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.
c
- The character to check.
isName
public 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.
c
- The character to check.
isNameStart
public 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.
c
- The character to check.
isPubid
public 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.
c
- The character to check.
isSpace
public 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.
c
- The character to check.
isSupplemental
public static boolean isSupplemental(int c)
Returns true if the specified character is a supplemental character.
c
- The character to check.
isValid
public static boolean isValid(int c)
Returns true if the specified character is valid. This method
also checks the surrogate character range from 0x10000 to 0x10FFFF.
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.
isValidIANAEncoding
public static boolean isValidIANAEncoding(String ianaEncoding)
Returns true if the encoding name is a valid IANA encoding.
This method does not verify that there is a decoder available
for this encoding, only that the characters are valid for an
IANA encoding name.
ianaEncoding
- The IANA encoding name.
isValidJavaEncoding
public static boolean isValidJavaEncoding(String javaEncoding)
Returns true if the encoding name is a valid Java encoding.
This method does not verify that there is a decoder available
for this encoding, only that the characters are valid for an
Java encoding name.
javaEncoding
- The Java encoding name.
isValidNCName
public static boolean isValidNCName(String ncName)
Check to see if a string is a valid NCName according to [4]
from the XML Namespaces 1.0 Recommendation
- true if name is a valid NCName
isValidName
public static boolean isValidName(String name)
Check to see if a string is a valid Name according to [5]
in the XML 1.0 Recommendation
- true if name is a valid Name
isValidNmtoken
public static boolean isValidNmtoken(String nmtoken)
Check to see if a string is a valid Nmtoken according to [7]
in the XML 1.0 Recommendation
nmtoken
- string to check
- true if nmtoken is a valid Nmtoken
lowSurrogate
public static char lowSurrogate(int c)
Returns the low surrogate of a supplemental character
c
- The supplemental character to "split".
supplemental
public static int supplemental(char h,
char l)
Returns true the supplemental character corresponding to the given
surrogates.
h
- The high surrogate.l
- The low surrogate.
Copyright B) 1999-2006 The Apache Software Foundation. All Rights Reserved.