org.jdom

Class Verifier

public final class Verifier extends 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.51 $, $Date: 2004/08/31 21:58:55 $

Author: Brett McLaughlin Elliotte Rusty Harold Jason Hunter Bradley S. Huffman

Method Summary
static StringcheckAttributeName(String name)
This will check the supplied name to see if it is legal for use as a JDOM {@link Attribute} name.
static StringcheckCDATASection(String data)
This will check the supplied data to see if it is legal for use as JDOM {@link CDATA}.
static StringcheckCharacterData(String text)
This will check the supplied string to see if it only contains characters allowed by the XML 1.0 specification.
static StringcheckCommentData(String data)
This will check the supplied data to see if it is legal for use as JDOM {@link Comment} data.
static StringcheckElementName(String name)
This will check the supplied name to see if it is legal for use as a JDOM {@link Element} name.
static StringcheckNamespaceCollision(Namespace namespace, Namespace other)
Check if two namespaces collide.
static StringcheckNamespaceCollision(Attribute attribute, Element element)
Check if {@link Attribute}'s namespace collides with a {@link Element}'s namespace.
static StringcheckNamespaceCollision(Namespace namespace, Element element)
Check if a {@link Namespace} collides with a {@link Element}'s namespace.
static StringcheckNamespaceCollision(Namespace namespace, Attribute attribute)
Check if a {@link Namespace} collides with a {@link Attribute}'s namespace.
static StringcheckNamespaceCollision(Namespace namespace, List list)
Check if a {@link Namespace} collides with any namespace from a list of objects.
static StringcheckNamespacePrefix(String prefix)
This will check the supplied name to see if it is legal for use as a JDOM {@link Namespace} prefix.
static StringcheckNamespaceURI(String uri)
This will check the supplied name to see if it is legal for use as a JDOM {@link Namespace} URI.
static StringcheckProcessingInstructionData(String data)
This will check the supplied data to see if it is legal for use as {@link ProcessingInstruction} data.
static StringcheckProcessingInstructionTarget(String target)
This will check the supplied data to see if it is legal for use as a JDOM {@link ProcessingInstruction} target.
static StringcheckPublicID(String publicID)
This will ensure that the data for a public identifier is legal.
static StringcheckSystemLiteral(String systemLiteral)
This will ensure that the data for a system literal is legal.
static StringcheckURI(String uri)

Checks a string to see if it is a legal RFC 2396 URI.

static StringcheckXMLName(String name)
This is a utility function for sharing the base process of checking any XML name.
static booleanisHexDigit(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 booleanisURICharacter(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 booleanisXMLCharacter(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 booleanisXMLCombiningChar(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 booleanisXMLDigit(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 booleanisXMLExtender(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 booleanisXMLLetter(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 booleanisXMLLetterOrDigit(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 booleanisXMLNameCharacter(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 booleanisXMLNameStartCharacter(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 booleanisXMLPublicIDCharacter(char c)

Method Detail

checkAttributeName

public static String checkAttributeName(String name)
This will check the supplied name to see if it is legal for use as a JDOM {@link Attribute} name.

Parameters: name String name to check.

Returns: String reason name is illegal, or null if name is OK.

checkCDATASection

public static String checkCDATASection(String data)
This will check the supplied data to see if it is legal for use as JDOM {@link CDATA}.

Parameters: data String data to check.

Returns: String reason data is illegal, or null is name is OK.

checkCharacterData

public static String checkCharacterData(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.

checkCommentData

public static String checkCommentData(String data)
This will check the supplied data to see if it is legal for use as JDOM {@link Comment} data.

Parameters: data String data to check.

Returns: String reason data is illegal, or null if data is OK.

checkElementName

public static String checkElementName(String name)
This will check the supplied name to see if it is legal for use as a JDOM {@link Element} name.

Parameters: name String name to check.

Returns: String reason name is illegal, or null if name is OK.

checkNamespaceCollision

public static 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 String checkNamespaceCollision(Attribute attribute, Element element)
Check if {@link Attribute}'s namespace collides with a {@link 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 String checkNamespaceCollision(Namespace namespace, Element element)
Check if a {@link Namespace} collides with a {@link 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 String checkNamespaceCollision(Namespace namespace, Attribute attribute)
Check if a {@link Namespace} collides with a {@link 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 String checkNamespaceCollision(Namespace namespace, List list)
Check if a {@link 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.

checkNamespacePrefix

public static String checkNamespacePrefix(String prefix)
This will check the supplied name to see if it is legal for use as a JDOM {@link Namespace} prefix.

Parameters: prefix String prefix to check.

Returns: String reason name is illegal, or null if name is OK.

checkNamespaceURI

public static String checkNamespaceURI(String uri)
This will check the supplied name to see if it is legal for use as a JDOM {@link Namespace} URI.

Parameters: uri String URI to check.

Returns: String reason name is illegal, or null if name is OK.

checkProcessingInstructionData

public static String checkProcessingInstructionData(String data)
This will check the supplied data to see if it is legal for use as {@link 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.

checkProcessingInstructionTarget

public static String checkProcessingInstructionTarget(String target)
This will check the supplied data to see if it is legal for use as a JDOM {@link ProcessingInstruction} target.

Parameters: target String target to check.

Returns: String reason target is illegal, or null if target is OK.

checkPublicID

public static String checkPublicID(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 String checkSystemLiteral(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.

checkURI

public static String checkURI(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.

checkXMLName

public static String checkXMLName(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.

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.

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

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.

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

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.

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.

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.

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.

isXMLPublicIDCharacter

public static boolean isXMLPublicIDCharacter(char c)
Copyright B) 2004 Jason Hunter, Brett McLaughlin. All Rights Reserved.