Verifier (JDOM v1.1.1)
Date: 2019-09-02

org.jdom

## Class Verifier

- java.lang.Object
- - org.jdom.Verifier

-     public final class Verifier
      extends java.lang.Object

  A utility class to handle well-formedness checks on names, data, and other verification tasks for JDOM. The class is final and may not be subclassed.
  Version:
    $Revision: 1.57 $, $Date: 2009/07/23 05:54:23 $
  Author:
    Brett McLaughlin, Elliotte Rusty Harold, Jason Hunter, Bradley S. Huffman

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `checkAttributeName(java.lang.String name)` This will check the supplied name to see if it is legal for use as a JDOM ``Attribute`` name.
    `static java.lang.String` | `checkCDATASection(java.lang.String data)` This will check the supplied data to see if it is legal for use as JDOM ``CDATA``.
    `static java.lang.String` | `checkCharacterData(java.lang.String text)` This will check the supplied string to see if it only contains characters allowed by the XML 1.0 specification.
    `static java.lang.String` | `checkCommentData(java.lang.String data)` This will check the supplied data to see if it is legal for use as JDOM ``Comment`` data.
    `static java.lang.String` | `checkElementName(java.lang.String name)` This will check the supplied name to see if it is legal for use as a JDOM ``Element`` name.
    `static java.lang.String` | `checkNamespaceCollision(Attribute attribute, Element element)` Check if ``Attribute``'s namespace collides with a ``Element``'s namespace.
    `static java.lang.String` | `checkNamespaceCollision(Namespace namespace, Attribute attribute)` Check if a ``Namespace`` collides with a ``Attribute``'s namespace.
    `static java.lang.String` | `checkNamespaceCollision(Namespace namespace, Element element)` Check if a ``Namespace`` collides with a ``Element``'s namespace.
    `static java.lang.String` | `checkNamespaceCollision(Namespace namespace, java.util.List list)` Check if a ``Namespace`` collides with any namespace from a list of objects.
    `static java.lang.String` | `checkNamespaceCollision(Namespace namespace, Namespace other)` Check if two namespaces collide.
    `static java.lang.String` | `checkNamespacePrefix(java.lang.String prefix)` This will check the supplied name to see if it is legal for use as a JDOM ``Namespace`` prefix.
    `static java.lang.String` | `checkNamespaceURI(java.lang.String uri)` This will check the supplied name to see if it is legal for use as a JDOM ``Namespace`` URI.
    `static java.lang.String` | `checkProcessingInstructionData(java.lang.String data)` This will check the supplied data to see if it is legal for use as ``ProcessingInstruction`` data.
    `static java.lang.String` | `checkProcessingInstructionTarget(java.lang.String target)` This will check the supplied data to see if it is legal for use as a JDOM ``ProcessingInstruction`` target.
    `static java.lang.String` | `checkPublicID(java.lang.String publicID)` This will ensure that the data for a public identifier is legal.
    `static java.lang.String` | `checkSystemLiteral(java.lang.String systemLiteral)` This will ensure that the data for a system literal is legal.
    `static java.lang.String` | `checkURI(java.lang.String uri)` Checks a string to see if it is a legal RFC 2396 URI.
    `static java.lang.String` | `checkXMLName(java.lang.String name)` This is a utility function for sharing the base process of checking any XML name.
    `static int` | `decodeSurrogatePair(char high, char low)` This is a utility function to decode a non-BMP UTF-16 surrogate pair.
    `static boolean` | `isHexDigit(char c)` This is a utility function for determining whether a specified Unicode character is a hexadecimal digit as defined in RFC 2396; that is, one of the ASCII characters 0-9, a-f, or A-F.
    `static boolean` | `isHighSurrogate(char ch)` This is a function for determining whether the specified character is the high 16 bits in a UTF-16 surrogate pair.
    `static boolean` | `isLowSurrogate(char ch)` This is a function for determining whether the specified character is the low 16 bits in a UTF-16 surrogate pair.
    `static boolean` | `isURICharacter(char c)` This is a utility function for determining whether a specified Unicode character is legal in URI references as determined by RFC 2396.
    `static boolean` | `isXMLCharacter(int c)` This is a utility function for determining whether a specified character is a character according to production 2 of the XML 1.0 specification.
    `static boolean` | `isXMLCombiningChar(char c)` This is a utility function for determining whether a specified character is a combining character according to production 87 of the XML 1.0 specification.
    `static boolean` | `isXMLDigit(char c)` This is a utility function for determining whether a specified Unicode character is a digit according to production 88 of the XML 1.0 specification.
    `static boolean` | `isXMLExtender(char c)` This is a utility function for determining whether a specified character is an extender according to production 88 of the XML 1.0 specification.
    `static boolean` | `isXMLLetter(char c)` This is a utility function for determining whether a specified character is a letter according to production 84 of the XML 1.0 specification.
    `static boolean` | `isXMLLetterOrDigit(char c)` This is a utility function for determining whether a specified character is a letter or digit according to productions 84 and 88 of the XML 1.0 specification.
    `static boolean` | `isXMLNameCharacter(char c)` This is a utility function for determining whether a specified character is a name character according to production 4 of the XML 1.0 specification.
    `static boolean` | `isXMLNameStartCharacter(char c)` This is a utility function for determining whether a specified character is a legal name start character according to production 5 of the XML 1.0 specification.
    `static boolean` | `isXMLPublicIDCharacter(char c)`
    `static boolean` | `isXMLWhitespace(char c)` This is a utility function for determining whether a specified Unicode character is a whitespace character according to production 3 of the XML 1.0 specification.

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

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

- - ### Method Detail

    - #### checkElementName

          public static java.lang.String checkElementName(java.lang.String name)

      This will check the supplied name to see if it is legal for use as a JDOM ``Element`` name.
      Parameters:
        `name` - `String` name to check.
      Returns:
        `String` reason name is illegal, or `null` if name is OK.

    - #### checkAttributeName

          public static java.lang.String checkAttributeName(java.lang.String name)

      This will check the supplied name to see if it is legal for use as a JDOM ``Attribute`` name.
      Parameters:
        `name` - `String` name to check.
      Returns:
        `String` reason name is illegal, or `null` if name is OK.

    - #### checkCharacterData

          public static java.lang.String checkCharacterData(java.lang.String text)

      This will check the supplied string to see if it only contains characters allowed by the XML 1.0 specification. The C0 controls (e.g. null, vertical tab, formfeed, etc.) are specifically excluded except for carriage return, linefeed, and the horizontal tab. Surrogates are also excluded.

      This method is useful for checking element content and attribute values. Note that characters like " and < are allowed in attribute values and element content. They will simply be escaped as " or < when the value is serialized.

      Parameters:
        `text` - `String` value to check.
      Returns:
        `String` reason name is illegal, or `null` if name is OK.

    - #### checkCDATASection

          public static java.lang.String checkCDATASection(java.lang.String data)

      This will check the supplied data to see if it is legal for use as JDOM ``CDATA``.
      Parameters:
        `data` - `String` data to check.
      Returns:
        `String` reason data is illegal, or `null` is name is OK.

    - #### checkNamespacePrefix

          public static java.lang.String checkNamespacePrefix(java.lang.String prefix)

      This will check the supplied name to see if it is legal for use as a JDOM ``Namespace`` prefix.
      Parameters:
        `prefix` - `String` prefix to check.
      Returns:
        `String` reason name is illegal, or `null` if name is OK.

    - #### checkNamespaceURI

          public static java.lang.String checkNamespaceURI(java.lang.String uri)

      This will check the supplied name to see if it is legal for use as a JDOM ``Namespace`` URI.
      Parameters:
        `uri` - `String` URI to check.
      Returns:
        `String` reason name is illegal, or `null` if name is OK.

    - #### checkNamespaceCollision

          public static java.lang.String checkNamespaceCollision(Namespace namespace,
                                                                 Namespace other)

      Check if two namespaces collide.
      Parameters:
        `namespace` - `Namespace` to check.
        `other` - `Namespace` to check against.
      Returns:
        `String` reason for collision, or `null` if no collision.

    - #### checkNamespaceCollision

          public static java.lang.String checkNamespaceCollision(Attribute attribute,
                                                                 Element element)

      Check if ``Attribute``'s namespace collides with a ``Element``'s namespace.
      Parameters:
        `attribute` - `Attribute` to check.
        `element` - `Element` to check against.
      Returns:
        `String` reason for collision, or `null` if no collision.

    - #### checkNamespaceCollision

          public static java.lang.String checkNamespaceCollision(Namespace namespace,
                                                                 Element element)

      Check if a ``Namespace`` collides with a ``Element``'s namespace.
      Parameters:
        `namespace` - `Namespace` to check.
        `element` - `Element` to check against.
      Returns:
        `String` reason for collision, or `null` if no collision.

    - #### checkNamespaceCollision

          public static java.lang.String checkNamespaceCollision(Namespace namespace,
                                                                 Attribute attribute)

      Check if a ``Namespace`` collides with a ``Attribute``'s namespace.
      Parameters:
        `namespace` - `Namespace` to check.
        `attribute` - `Attribute` to check against.
      Returns:
        `String` reason for collision, or `null` if no collision.

    - #### checkNamespaceCollision

          public static java.lang.String checkNamespaceCollision(Namespace namespace,
                                                                 java.util.List list)

      Check if a ``Namespace`` collides with any namespace from a list of objects.
      Parameters:
        `namespace` - `Namespace` to check.
        `list` - `List` to check against.
      Returns:
        `String` reason for collision, or `null` if no collision.

    - #### checkProcessingInstructionTarget

          public static java.lang.String checkProcessingInstructionTarget(java.lang.String target)

      This will check the supplied data to see if it is legal for use as a JDOM ``ProcessingInstruction`` target.
      Parameters:
        `target` - `String` target to check.
      Returns:
        `String` reason target is illegal, or `null` if target is OK.

    - #### checkProcessingInstructionData

          public static java.lang.String checkProcessingInstructionData(java.lang.String data)

      This will check the supplied data to see if it is legal for use as ``ProcessingInstruction`` data. Besides checking that all the characters are allowed in XML, this also checks that the data does not contain the PI end-string "?>".
      Parameters:
        `data` - `String` data to check.
      Returns:
        `String` reason data is illegal, or `null` if data is OK.

    - #### checkCommentData

          public static java.lang.String checkCommentData(java.lang.String data)

      This will check the supplied data to see if it is legal for use as JDOM ``Comment`` data.
      Parameters:
        `data` - `String` data to check.
      Returns:
        `String` reason data is illegal, or `null` if data is OK.

    - #### decodeSurrogatePair

          public static int decodeSurrogatePair(char high,
                                                char low)

      This is a utility function to decode a non-BMP UTF-16 surrogate pair.
      Parameters:
        `high` - high 16 bits
        `low` - low 16 bits
      Returns:
        decoded character

    - #### isXMLPublicIDCharacter

          public static boolean isXMLPublicIDCharacter(char c)

    - #### checkPublicID

          public static java.lang.String checkPublicID(java.lang.String publicID)

      This will ensure that the data for a public identifier is legal.
      Parameters:
        `publicID` - `String` public ID to check.
      Returns:
        `String` reason public ID is illegal, or `null` if public ID is OK.

    - #### checkSystemLiteral

          public static java.lang.String checkSystemLiteral(java.lang.String systemLiteral)

      This will ensure that the data for a system literal is legal.
      Parameters:
        `systemLiteral` - `String` system literal to check.
      Returns:
        `String` reason system literal is illegal, or `null` if system literal is OK.

    - #### checkXMLName

          public static java.lang.String checkXMLName(java.lang.String name)

      This is a utility function for sharing the base process of checking any XML name.
      Parameters:
        `name` - `String` to check for XML name compliance.
      Returns:
        `String` reason the name is illegal, or `null` if OK.

    - #### checkURI

          public static java.lang.String checkURI(java.lang.String uri)

      Checks a string to see if it is a legal RFC 2396 URI. Both absolute and relative URIs are supported.

      Parameters:
        `uri` - `String` to check.
      Returns:
        `String` reason the URI is illegal, or `null` if OK.

    - #### isHexDigit

          public static boolean isHexDigit(char c)

      This is a utility function for determining whether a specified Unicode character is a hexadecimal digit as defined in RFC 2396; that is, one of the ASCII characters 0-9, a-f, or A-F.

      Parameters:
        `c` - to check for hex digit.
      Returns:
        true if it's allowed, false otherwise.

    - #### isHighSurrogate

          public static boolean isHighSurrogate(char ch)

      This is a function for determining whether the specified character is the high 16 bits in a UTF-16 surrogate pair.
      Parameters:
        `ch` - character to check
      Returns:
        true if the character is a high surrogate, false otherwise

    - #### isLowSurrogate

          public static boolean isLowSurrogate(char ch)

      This is a function for determining whether the specified character is the low 16 bits in a UTF-16 surrogate pair.
      Parameters:
        `ch` - character to check
      Returns:
        true if the character is a low surrogate, false otherwise.

    - #### isURICharacter

          public static boolean isURICharacter(char c)

      This is a utility function for determining whether a specified Unicode character is legal in URI references as determined by RFC 2396.

      Parameters:
        `c` - `char` to check for URI reference compliance.
      Returns:
        true if it's allowed, false otherwise.

    - #### isXMLCharacter

          public static boolean isXMLCharacter(int c)

      This is a utility function for determining whether a specified character is a character according to production 2 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check for XML compliance
      Returns:
        `boolean` true if it's a character, false otherwise

    - #### isXMLNameCharacter

          public static boolean isXMLNameCharacter(char c)

      This is a utility function for determining whether a specified character is a name character according to production 4 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check for XML name compliance.
      Returns:
        `boolean` true if it's a name character, false otherwise.

    - #### isXMLNameStartCharacter

          public static boolean isXMLNameStartCharacter(char c)

      This is a utility function for determining whether a specified character is a legal name start character according to production 5 of the XML 1.0 specification. This production does allow names to begin with colons which the Namespaces in XML Recommendation disallows.
      Parameters:
        `c` - `char` to check for XML name start compliance.
      Returns:
        `boolean` true if it's a name start character, false otherwise.

    - #### isXMLLetterOrDigit

          public static boolean isXMLLetterOrDigit(char c)

      This is a utility function for determining whether a specified character is a letter or digit according to productions 84 and 88 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check.
      Returns:
        `boolean` true if it's letter or digit, false otherwise.

    - #### isXMLLetter

          public static boolean isXMLLetter(char c)

      This is a utility function for determining whether a specified character is a letter according to production 84 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check for XML name compliance.
      Returns:
        `String` true if it's a letter, false otherwise.

    - #### isXMLCombiningChar

          public static boolean isXMLCombiningChar(char c)

      This is a utility function for determining whether a specified character is a combining character according to production 87 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check.
      Returns:
        `boolean` true if it's a combining character, false otherwise.

    - #### isXMLExtender

          public static boolean isXMLExtender(char c)

      This is a utility function for determining whether a specified character is an extender according to production 88 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check.
      Returns:
        `String` true if it's an extender, false otherwise.

    - #### isXMLDigit

          public static boolean isXMLDigit(char c)

      This is a utility function for determining whether a specified Unicode character is a digit according to production 88 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check for XML digit compliance
      Returns:
        `boolean` true if it's a digit, false otherwise

    - #### isXMLWhitespace

          public static boolean isXMLWhitespace(char c)

      This is a utility function for determining whether a specified Unicode character is a whitespace character according to production 3 of the XML 1.0 specification.
      Parameters:
        `c` - `char` to check for XML whitespace compliance
      Returns:
        `boolean` true if it's a whitespace, false otherwise

Copyright ? 2007 Jason Hunter, Brett McLaughlin. All Rights Reserved.