Class XMLChar

java.lang.Object
org.htmlunit.cyberneko.xerces.util.XMLChar

public final class XMLChar extends 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.

  • Field Details

    • CHARS

      private static final byte[] CHARS
      Character flags.
    • MASK_NAME_START

      public static final int MASK_NAME_START
      Name start character mask.
      See Also:
    • MASK_NAME

      public static final int MASK_NAME
      Name character mask.
      See Also:
    • MASK_NCNAME_START

      public static final int MASK_NCNAME_START
      NCName start character mask.
      See Also:
    • MASK_NCNAME

      public static final int MASK_NCNAME
      NCName character mask.
      See Also:
  • Constructor Details

    • XMLChar

      private XMLChar()
  • Method Details

    • supplemental

      public static int supplemental(char h, char l)
      Parameters:
      h - The high surrogate.
      l - The low surrogate.
      Returns:
      true the supplemental character corresponding to the given surrogates.
    • isLowSurrogate

      public static boolean isLowSurrogate(int c)
      Parameters:
      c - The character to check.
      Returns:
      whether the given character is a low surrogate
    • isNameStart

      public static boolean isNameStart(int c)
      Parameters:
      c - The character to check.
      Returns:
      true if the specified character is a valid name start character as defined by production [5] in the XML 1.0 specification.
    • isName

      public static boolean isName(int c)
      Parameters:
      c - The character to check.
      Returns:
      true if the specified character is a valid name character as defined by production [4] in the XML 1.0 specification.
    • isNCNameStart

      public static boolean isNCNameStart(int c)
      Parameters:
      c - The character to check.
      Returns:
      true if the specified character is a valid NCName start character as defined by production [4] in Namespaces in XML recommendation.
    • isNCName

      public static boolean isNCName(int c)
      Parameters:
      c - The character to check.
      Returns:
      true if the specified character is a valid NCName character as defined by production [5] in Namespaces in XML recommendation.
    • 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
      Parameters:
      name - string to check
      Returns:
      true if name is a valid 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
      Parameters:
      ncName - string to check
      Returns:
      true if name is a valid NCName