Package net.sf.saxon.om
Class NameChecker
java.lang.Object
net.sf.saxon.om.NameChecker
- Direct Known Subclasses:
Name10Checker
,Name11Checker
A NameChecker performs validation and analysis of XML names. There are two implementations
of this interface, one for XML 1.0 names and one for XML 1.1 names. The class also handles
validation of characters against the XML 1.0 or XML 1.1 rules.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final String
Extract the prefix from a QName.final String[]
getQNameParts
(CharSequence qname) Validate a QName, and return the prefix and local name.abstract String
Return the XML version supported by this NameCheckerfinal boolean
Validate whether a given string constitutes a valid QName, as defined in XML Namespaces.abstract boolean
isValidChar
(int ch) Test whether a character is a valid XML characterabstract boolean
isValidNCName
(String name) Validate whether a given string constitutes a valid NCName, as defined in XML Namespaces.
-
Constructor Details
-
NameChecker
public NameChecker()
-
-
Method Details
-
isQName
Validate whether a given string constitutes a valid QName, as defined in XML Namespaces. Note that this does not test whether the prefix is actually declared.- Parameters:
name
- the name to be tested- Returns:
- true if the name is a lexically-valid QName
-
isValidNCName
Validate whether a given string constitutes a valid NCName, as defined in XML Namespaces.- Parameters:
name
- the name to be tested- Returns:
- true if the name is a lexically-valid QName
-
getPrefix
Extract the prefix from a QName. Note, the QName is assumed to be valid.- Parameters:
qname
- The lexical QName whose prefix is required- Returns:
- the prefix, that is the part before the colon. Returns an empty string if there is no prefix
-
getQNameParts
Validate a QName, and return the prefix and local name.- Parameters:
qname
- the lexical QName whose parts are required. Note that leading and trailing whitespace is not permitted- Returns:
- an array of two strings, the prefix and the local name. The first item is a zero-length string if there is no prefix.
- Throws:
QNameException
- if not a valid QName.
-
isValidChar
public abstract boolean isValidChar(int ch) Test whether a character is a valid XML character- Parameters:
ch
- the character to be tested- Returns:
- true if this is a valid character in the selected version of XML
-
getXMLVersion
Return the XML version supported by this NameChecker- Returns:
- "1.0" or "1.1" as a string
-