net.sf.saxon.s9api
public class QName extends Object
This class also defines a number of QName-valued constants relating to built-in types in XML Schema
A QName is immutable.
Note that a QName is not itself an XdmItem in this model; however it can be wrapped in an XdmItem.
Field Summary | |
---|---|
static QName | XS_ANY_ATOMIC_TYPE QName denoting the schema type xs:anyAtomicType * |
static QName | XS_ANY_URI QName denoting the schema type xs:anyURI * |
static QName | XS_BASE64_BINARY QName denoting the schema type xs:base64Binary * |
static QName | XS_BOOLEAN QName denoting the schema type xs:boolean * |
static QName | XS_BYTE QName denoting the schema type xs:byte * |
static QName | XS_DATE QName denoting the schema type xs:date * |
static QName | XS_DATE_TIME QName denoting the schema type xs:dateTime * |
static QName | XS_DATE_TIME_STAMP QName denoting the schema type xs:dateTimeStamp * |
static QName | XS_DAY_TIME_DURATION QName denoting the schema type xs:dayTimeDuration * |
static QName | XS_DECIMAL QName denoting the schema type xs:decimal * |
static QName | XS_DOUBLE QName denoting the schema type xs:double * |
static QName | XS_DURATION QName denoting the schema type xs:duration * |
static QName | XS_ENTITIES QName denoting the schema type xs:ENTITIES * |
static QName | XS_ENTITY QName denoting the schema type xs:ENTITY * |
static QName | XS_FLOAT QName denoting the schema type xs:float * |
static QName | XS_G_DAY QName denoting the schema type xs:gDay * |
static QName | XS_G_MONTH QName denoting the schema type xs:gMonth * |
static QName | XS_G_MONTH_DAY QName denoting the schema type xs:gMonthDay * |
static QName | XS_G_YEAR QName denoting the schema type xs:gYear * |
static QName | XS_G_YEAR_MONTH QName denoting the schema type xs:gYearMonth * |
static QName | XS_HEX_BINARY QName denoting the schema type xs:hexBinary * |
static QName | XS_ID QName denoting the schema type xs:ID * |
static QName | XS_IDREF QName denoting the schema type xs:IDREF * |
static QName | XS_IDREFS QName denoting the schema type xs:IDREFS * |
static QName | XS_INT QName denoting the schema type xs:int * |
static QName | XS_INTEGER QName denoting the schema type xs:integer * |
static QName | XS_LANGUAGE QName denoting the schema type xs:language * |
static QName | XS_LONG QName denoting the schema type xs:long * |
static QName | XS_NAME QName denoting the schema type xs:Name * |
static QName | XS_NCNAME QName denoting the schema type xs:NCName * |
static QName | XS_NEGATIVE_INTEGER QName denoting the schema type xs:negativeInteger * |
static QName | XS_NMTOKEN QName denoting the schema type xs:NMTOKEN * |
static QName | XS_NMTOKENS QName denoting the schema type xs:NMTOKENS * |
static QName | XS_NON_NEGATIVE_INTEGER QName denoting the schema type xs:nonNegativeInteger * |
static QName | XS_NON_POSITIVE_INTEGER QName denoting the schema type xs:nonPositiveInteger * |
static QName | XS_NORMALIZED_STRING QName denoting the schema type xs:normalizedString * |
static QName | XS_NOTATION QName denoting the schema type xs:NOTATION * |
static QName | XS_POSITIVE_INTEGER QName denoting the schema type xs:positiveInteger * |
static QName | XS_QNAME QName denoting the schema type xs:QName * |
static QName | XS_SHORT QName denoting the schema type xs:short * |
static QName | XS_STRING QName denoting the schema type xs:string * |
static QName | XS_TIME QName denoting the schema type xs:time * |
static QName | XS_TOKEN QName denoting the schema type xs:token * |
static QName | XS_UNSIGNED_BYTE QName denoting the schema type xs:unsignedByte * |
static QName | XS_UNSIGNED_INT QName denoting the schema type xs:unsignedInt * |
static QName | XS_UNSIGNED_LONG QName denoting the schema type xs:unsignedLong * |
static QName | XS_UNSIGNED_SHORT QName denoting the schema type xs:unsignedShort * |
static QName | XS_UNTYPED QName denoting the schema type xs:untyped * |
static QName | XS_UNTYPED_ATOMIC QName denoting the schema type xs:untypedAtomic * |
static QName | XS_YEAR_MONTH_DURATION QName denoting the schema type xs:yearMonthDuration * |
Constructor Summary | |
---|---|
QName(String prefix, String uri, String localName)
Construct a QName using a namespace prefix, a namespace URI, and a local name (in that order).
| |
QName(String uri, String lexical)
Construct a QName using a namespace URI and a lexical representation. | |
QName(String localName)
Construct a QName from a localName alone. | |
QName(String lexicalQName, XdmNode element)
Construct a QName from a lexical QName, supplying an element node whose
in-scope namespaces are to be used to resolve any prefix contained in the QName.
| |
QName(QName qName)
Construct a QName from a JAXP QName object
| |
protected | QName(StructuredQName sqName)
Protected constructor accepting a StructuredQName |
Method Summary | |
---|---|
boolean | equals(Object other)
Test whether two QNames are equal. |
static QName | fromClarkName(String expandedName)
Factory method to construct a QName from a string containing the expanded
QName in Clark notation, that is, {uri}local
The prefix part of the QName will be set to an empty string.
|
String | getClarkName()
The expanded name, as a string using the notation devised by James Clark.
|
String | getLocalName()
The local part of the QName |
String | getNamespaceURI()
The namespace URI of the QName. |
String | getPrefix()
Get the prefix of the QName. |
protected StructuredQName | getStructuredQName()
Get the underlying StructuredQName |
int | hashCode()
Get a hash code for the QName, to support equality matching. |
boolean | isValid(Processor processor)
Validate the QName against the XML 1.0 or XML 1.1 rules for valid names.
|
String | toString()
Convert the value to a string. |
This constructor does not check that the components of the QName are lexically valid.
Parameters: prefix The prefix of the name. Use either the string "" or null for names that have no prefix (that is, they are in the default namespace) uri The namespace URI. Use either the string "" or null for names that are not in any namespace. localName The local part of the name
This constructor does not check that the components of the QName are lexically valid.
Parameters: uri The namespace URI. Use either the string "" or null for names that are not in any namespace. lexical Either the local part of the name, or the prefix and local part in the format prefix:local
Parameters: localName The local name. This must be a valid NCName, in particular it must contain no colon
This constructor checks that the components of the QName are lexically valid.
If the lexical QName has no prefix, the name is considered to be in the
default namespace, as defined by xmlns="..."
.
If the prefix of the lexical QName is not in scope, returns null.
Parameters: lexicalQName The lexical QName, in the form prefix:local
or simply local
. element The element node whose in-scope namespaces are to be used
to resolve the prefix part of the lexical QName.
Throws: IllegalArgumentException If the prefix of the lexical QName is not in scope or if the lexical QName is invalid (for example, if it contains invalid characters)
Parameters: qName the JAXP QName object
Parameters: sqName the StructuredQName
Returns: true if the namespace URIs are equal and the local parts are equal, when compared character-by-character.
{uri}local
The prefix part of the QName
will be set to an empty string.
Parameters: expandedName The URI in Clark notation: {uri}local
if the
name is in a namespace, or simply local
if not.
Returns: the QName corresponding to the supplied name in Clark notation. This will always have an empty prefix.
{uri}local
.
Otherwise, the value is the local part of the name.Returns: the name in Clark notation. If the name is not in a namespace, returns the local part of the name. Otherwise returns the concatenation of "{", the namespace part of the QName, "}", and the local part of the QName.
Returns: the local part of the QName
Returns: the namespace part of the QName, or "" for a name in no namespace
Returns: the prefix part of the QName, or "" if the name has no known prefix
Returns: the underlying StructuredQName
Returns: a hashCode for the QName
Parameters: processor The Processor in which the name is to be validated. This determines whether the XML 1.0 or XML 1.1 rules for forming names are used.
Returns: true if the name is valid, false if not