public class QName
extends Object
implements Serializable
java.lang.Object | |
↳ | javax.xml.namespace.QName |
QName
表示如在XML规范中定义一个 限定名 : XML Schema Part2: Datatypes specification , Namespaces in XML , Namespaces in XML Errata 。
QName
的值包含 名称空间URI , 本地部分和 前缀 。
前缀包括在QName
保留词汇信息存在于一个时 XML input source
。 前缀是不是在使用QName.equals(Object)
或计算QName.hashCode()
。 平等和散列码仅使用名称空间URI和本地部分来定义。
如果未指定,则名称空间URI将设置为XMLConstants.NULL_NS_URI
。 如果未指定,则前缀设置为XMLConstants.DEFAULT_NS_PREFIX
。
QName
是不可变的。
Public constructors |
|
---|---|
QName(String namespaceURI, String localPart)
|
|
QName(String namespaceURI, String localPart, String prefix)
|
|
QName(String localPart)
|
Public methods |
|
---|---|
final boolean |
equals(Object objectToTest) 测试此 |
String |
getLocalPart() 获取此 |
String |
getNamespaceURI() 获取此 |
String |
getPrefix() 获取此 |
final int |
hashCode() 为此 |
String |
toString()
|
static QName |
valueOf(String qNameAsString)
|
Inherited methods |
|
---|---|
From class java.lang.Object
|
QName (String namespaceURI, String localPart)
QName
构造函数指定名称空间URI和本地部分。
如果名称空间URI是null
,则它设置为XMLConstants.NULL_NS_URI
。 该值不表示由Namespaces in XML规范定义的明确定义的名称空间。 此操作保留与QName 1.0兼容的行为。 显式提供XMLConstants.NULL_NS_URI
值是首选的编码风格。
如果本地部分是null
,则抛出IllegalArgumentException
。 允许本地部分“”与QName 1.0保持兼容的行为。
使用此构造函数时,前缀设置为 XMLConstants.DEFAULT_NS_PREFIX
。
名称空间URI未验证为URI reference 。 本地部分未被验证为NCName,如Namespaces in XML所述 。
Parameters | |
---|---|
namespaceURI |
String : Namespace URI of the QName |
localPart |
String : local part of the QName |
QName (String namespaceURI, String localPart, String prefix)
QName
构造函数指定名称空间URI,本地部分和前缀。
如果名称空间URI是null
,则它设置为XMLConstants.NULL_NS_URI
。 该值不表示由Namespaces in XML规范定义的明确定义的名称空间。 此操作保留与QName 1.0兼容的行为。 显式提供XMLConstants.NULL_NS_URI
值是首选的编码风格。
如果本地部分是null
,则抛出IllegalArgumentException
。 允许本地部分“”与QName 1.0保持兼容的行为。
如果前缀是null
,则引发IllegalArgumentException
。 使用XMLConstants.DEFAULT_NS_PREFIX
明确指出没有前缀存在或前缀不相关。
名称空间URI未验证为URI reference 。 根据Namespaces in XML的规定,本地部分和前缀未被验证为NCName 。
Parameters | |
---|---|
namespaceURI |
String : Namespace URI of the QName |
localPart |
String : local part of the QName |
prefix |
String : prefix of the QName |
QName (String localPart)
QName
指定本地部分的构造函数。
如果本地部分是null
,则抛出IllegalArgumentException
。 允许本地部分“”与QName 1.0保持兼容的行为。
使用此构造函数时,名称空间URI设置为 XMLConstants.NULL_NS_URI
,前缀设置为 XMLConstants.DEFAULT_NS_PREFIX
。
在XML上下文中,所有元素和属性名称都存在于名称空间的上下文中。 在构建QName
期间进行明确的QName
有助于防止难以诊断XML有效性错误。 构造函数QName(String namespaceURI, String localPart)
和QName(String, String, String)
是优选的。
本地部分未被验证为 NCName,如 Namespaces in XML中所述 。
Parameters | |
---|---|
localPart |
String : local part of the QName |
boolean equals (Object objectToTest)
测试此 QName
与另一个 Object
是否相等。
如果 Object
待测试不是 QName
或是 null
,则此方法返回 false
。
当且仅当名称空间URI和本地部分相等时,两个QName
视为相等。 此方法使用String.equals()
来检查名称空间URI和本地部分的相等性。 前缀不用于确定相等性。
该方法符合 Object.equals(Object)
的一般合同
Parameters | |
---|---|
objectToTest |
Object : the Object to test for equality with this QName |
Returns | |
---|---|
boolean |
true if the given Object is equal to this QName else false |
String getLocalPart ()
获取此 QName
的本地部分。
Returns | |
---|---|
String |
local part of this QName |
String getNamespaceURI ()
获取此 QName
的名称空间URI。
Returns | |
---|---|
String |
Namespace URI of this QName |
String getPrefix ()
获取这个 QName
的前缀。
分配给一个前缀QName
可能无法在不同的上下文中有效。 例如, QName
可能在解析文档的上下文中被分配了前缀,但是该前缀在不同文档的上下文中可能是无效的。
Returns | |
---|---|
String |
prefix of this QName |
int hashCode ()
为此 QName
生成哈希码。
使用名称空间URI和QName
的本地部分计算哈希代码。 前缀不用于计算哈希码。
该方法符合 Object.hashCode()
的一般合同。
Returns | |
---|---|
int |
hash code for this QName Object |
String toString ()
String
表示 QName
。
詹姆斯克拉克将String
表示为QName
的普遍接受的方式是defined 。 虽然这不是标准规范,但它是常用的,例如setParameter(String, Object)
。 该实现代表QName
为:“{”+名称空间URI +“}”+本地部分。 如果名称空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只返回本地部分。 该方法的适当使用是用于调试或记录人类消费。
请注意,前缀值 不作为 String
表示的一部分返回。
该方法符合 Object.toString()
的一般合同。
Returns | |
---|---|
String |
String representation of this QName |
QName valueOf (String qNameAsString)
QName
通过解析格式化的 String
。
如果 String
是 null
或不符合 QName.toString()
格式, IllegalArgumentException
引发 IllegalArgumentException
。
String
必须采用QName.toString()
返回的形式。
詹姆斯克拉克将String
表示为QName
的普遍接受的方式是defined 。 虽然这不是标准规范,但它是常用的,例如setParameter(String, Object)
。 此实现解析String
格式为:“{”+名称空间URI +“}”+本地部分。 如果名称空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只应提供本地部分。
前缀值 不能在 String
表示,并将设置为 XMLConstants.DEFAULT_NS_PREFIX
。
此方法不会对结果 QName
进行完整验证。
名称空间URI未验证为URI reference 。 本地部分未被验证为NCName,如Namespaces in XML所述 。
Parameters | |
---|---|
qNameAsString |
String : String representation of the QName |
Returns | |
---|---|
QName |
QName corresponding to the given String |
也可以看看: