Package net.sf.saxon.serialize.charcode

## Class XMLCharacterData

- java.lang.Object
- - net.sf.saxon.serialize.charcode.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

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XMLCharacterData()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### VALID_10_MASK

          public static final byte VALID_10_MASK

      Bit setting to indicate that a character is valid in XML 1.0
      See Also:
        Constant Field Values

    - #### 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
      See Also:
        Constant Field Values

    - #### 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
      See Also:
        Constant Field Values

    - #### VALID_11_MASK

          public static final byte VALID_11_MASK

      Bit setting to indicate that a character is valid in XML 1.1
      See Also:
        Constant Field Values

    - #### 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
      See Also:
        Constant Field Values

    - #### 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
      See Also:
        Constant Field Values

    - #### 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
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XMLCharacterData

          public XMLCharacterData()

  - ### Method Detail

    - #### 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

    - #### 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

    - #### 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

    - #### 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

    - #### 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

    - #### 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

    - #### 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.