net.sf.saxon.charcode

Class XMLCharacterData


public class XMLCharacterData
extends java.lang.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 int
MAX_XML11_NAME_CHAR
Maximum code point for a character permitted in an XML 1.1 name
static byte
NAME_10_MASK
Bit setting to indicate that a character is valid in an XML 1.0 name
static byte
NAME_11_MASK
Bit setting to indicate that a character is valid in an XML 1.1 name
static byte
NAME_START_10_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.0 name
static byte
NAME_START_11_MASK
Bit setting to indicate that a character is valid at the start of an XML 1.1 name
static byte
VALID_10_MASK
Bit setting to indicate that a character is valid in XML 1.0
static byte
VALID_11_MASK
Bit setting to indicate that a character is valid in XML 1.1

Method Summary

static IntRangeSet
getCategory(byte mask)
Get all the characters in a given category, as an integer set.
static boolean
isNCName10(int i)
Determine whether a character is valid in an NCName in XML 1.0
static boolean
isNCName11(int i)
Determine whether a character is valid in an NCName in XML 1.1
static boolean
isNCNameStart10(int i)
Determine whether a character is valid at the start of an NCName in XML 1.0
static boolean
isNCNameStart11(int i)
Determine whether a character is valid at the start of an NCName in XML 1.1
static boolean
isValid10(int i)
Determine whether a character is valid in XML 1.0
static boolean
isValid11(int i)
Determine whether a character is valid in XML 1.1

Field Details

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
Field Value:
983039

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
Field Value:
2

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
Field Value:
16

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
Field Value:
4

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
Field Value:
32

VALID_10_MASK

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

VALID_11_MASK

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

Method Details

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