net.sf.saxon.charcode

Class XMLCharacterData

public class XMLCharacterData extends Object

This module contains data regarding the classification of characters in XML 1.0 and XML 1.1, and a number of interrogative methods to support queries on this data. For characters in the BMP, the information is tabulated by means of an array of one-byte entries, one for each character, with bit-significant property settings. For characters outside the BMP, the rules are built in to the interrogative methods.
Field Summary
static intMAX_XML11_NAME_CHAR
Maximum code point for a character permitted in an XML 1.1 name
static byteNAME_10_MASK
Bit setting to indicate that a character is valid in an XML 1.0 name
static byteNAME_11_MASK
Bit setting to indicate that a character is valid in an XML 1.1 name
static byteNAME_START_10_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.0 name
static byteNAME_START_11_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.1 name
static byteVALID_10_MASK
Bit setting to indicate that a character is valid in XML 1.0
static byteVALID_11_MASK
Bit setting to indicate that a character is valid in XML 1.1
Method Summary
static IntRangeSetgetCategory(byte mask)
Get all the characters in a given category, as an integer set.
static booleanisNCName10(int i)
Determine whether a character is valid in an NCName in XML 1.0
static booleanisNCName11(int i)
Determine whether a character is valid in an NCName in XML 1.1
static booleanisNCNameStart10(int i)
Determine whether a character is valid at the start of an NCName in XML 1.0
static booleanisNCNameStart11(int i)
Determine whether a character is valid at the start of an NCName in XML 1.1
static booleanisValid10(int i)
Determine whether a character is valid in XML 1.0
static booleanisValid11(int i)
Determine whether a character is valid in XML 1.1

Field Detail

MAX_XML11_NAME_CHAR

public static final int MAX_XML11_NAME_CHAR
Maximum code point for a character permitted in an XML 1.1 name

NAME_10_MASK

public static final byte NAME_10_MASK
Bit setting to indicate that a character is valid in an XML 1.0 name

NAME_11_MASK

public static final byte NAME_11_MASK
Bit setting to indicate that a character is valid in an XML 1.1 name

NAME_START_10_MASK

public static final byte NAME_START_10_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.0 name

NAME_START_11_MASK

public static final byte NAME_START_11_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.1 name

VALID_10_MASK

public static final byte VALID_10_MASK
Bit setting to indicate that a character is valid in XML 1.0

VALID_11_MASK

public static final byte VALID_11_MASK
Bit setting to indicate that a character is valid in XML 1.1

Method Detail

getCategory

public static IntRangeSet getCategory(byte mask)
Get all the characters in a given category, as an integer set. This must be one of the four name classes: Name characters or Name Start characters in XML 1.0 or XML 1.1. (This method is used to populate the data tables used by the regular expression translators)

Parameters: mask identifies the properties of the required category

Returns: the set of characters in the given category.

isNCName10

public static boolean isNCName10(int i)
Determine whether a character is valid in an NCName in XML 1.0

Parameters: i the character

Returns: true if the character is valid in an NCName in XML 1.0

isNCName11

public static boolean isNCName11(int i)
Determine whether a character is valid in an NCName in XML 1.1

Parameters: i the character

Returns: true if the character is valid in an NCName in XML 1.1

isNCNameStart10

public static boolean isNCNameStart10(int i)
Determine whether a character is valid at the start of an NCName in XML 1.0

Parameters: i the character

Returns: true if the character is valid at the start of an NCName in XML 1.0

isNCNameStart11

public static boolean isNCNameStart11(int i)
Determine whether a character is valid at the start of an NCName in XML 1.1

Parameters: i the character

Returns: true if the character is valid at the start of an NCName in XML 1.1

isValid10

public static boolean isValid10(int i)
Determine whether a character is valid in XML 1.0

Parameters: i the character

Returns: true if the character is valid in XML 1.0

isValid11

public static boolean isValid11(int i)
Determine whether a character is valid in XML 1.1

Parameters: i the character

Returns: true if the character is valid in XML 1.1