- 所有已实现的接口:
-
Serializable
QName
代表XML规范中定义的限定名称:XML模式第2部分:数据类型规范,XML中的命名空间。
QName
的值包含一个命名空间URI,本地部分和前缀。
前缀包含在QName
中,以保留在XML输入源
中出现时的词汇信息。前缀在QName.equals(Object)
或计算QName.hashCode()
时不被使用。相等性和哈希码仅使用命名空间URI和本地部分来定义。
如果未指定,命名空间URI将设置为XMLConstants.NULL_NS_URI
。如果未指定,前缀将设置为XMLConstants.DEFAULT_NS_PREFIX
。
QName
是不可变的。
- 自1.5版本起:
- 1.5
- 参见:
-
Constructor Details
-
QName
QName
构造函数指定命名空间URI和本地部分。如果命名空间URI为
null
,则设置为XMLConstants.NULL_NS_URI
。此值表示根据XML中的命名空间规范未明确定的命名空间。此操作保留了与QName 1.0的兼容行为。明确提供XMLConstants.NULL_NS_URI
值是首选的编码风格。如果本地部分为
null
,则抛出IllegalArgumentException
。允许本地部分为""以保留与QName 1.0的兼容行为。- 参数:
-
namespaceURI
-QName
的命名空间URI -
localPart
-QName
的本地部分 - 抛出:
-
IllegalArgumentException
- 当localPart
为null
时 - 参见:
-
QName
QName
构造函数指定命名空间URI,本地部分和前缀。如果命名空间URI为
null
,则设置为XMLConstants.NULL_NS_URI
。此值表示根据XML中的命名空间规范未明确定的命名空间。此操作保留了与QName 1.0的兼容行为。明确提供XMLConstants.NULL_NS_URI
值是首选的编码风格。如果本地部分为
null
,则抛出IllegalArgumentException
。允许本地部分为""以保留与QName 1.0的兼容行为。null
,则抛出IllegalArgumentException
。使用XMLConstants.DEFAULT_NS_PREFIX
来明确指示没有前缀存在或前缀不相关。- 参数:
-
namespaceURI
-QName
的命名空间URI -
localPart
-QName
的本地部分 -
prefix
-QName
的前缀 - 抛出:
-
IllegalArgumentException
- 当localPart
或prefix
为null
时
-
QName
QName
构造函数指定本地部分。如果本地部分为
null
,则抛出IllegalArgumentException
。允许本地部分为""以保留与QName 1.0的兼容行为。XMLConstants.NULL_NS_URI
,前缀设置为XMLConstants.DEFAULT_NS_PREFIX
。在XML上下文中,所有元素和属性名称都存在于命名空间的上下文中。在构造
QName
时明确此点有助于防止难以诊断的XML有效性错误。首选使用构造函数QName(String namespaceURI, String localPart)
和QName(String namespaceURI, String localPart, String prefix)
。- 参数:
-
localPart
-QName
的本地部分 - 抛出:
-
IllegalArgumentException
- 当localPart
为null
时 - 参见:
-
-
Method Details
-
getNamespaceURI
获取此
QName
的命名空间URI。- 返回:
-
此
QName
的命名空间URI
-
getLocalPart
获取此
QName
的本地部分。- 返回:
-
此
QName
的本地部分
-
getPrefix
获取此
QName
的前缀。QName
的前缀在不同上下文中可能 不有效。例如,QName
可能在解析文档的上下文中分配前缀,但该前缀在不同文档的上下文中可能无效。- 返回:
-
此
QName
的前缀
-
equals
测试此
QName
与另一个Object
的相等性。Object
不是QName
或为null
,则此方法返回false
。QName
才被视为相等。此方法使用String.equals()
来检查命名空间URI和本地部分的相等性。前缀 不用于确定相等性。Object.equals(Object)
的一般合同。 -
hashCode
public final int hashCode() -
toString
此
QName
的String
表示。表示
QName
的常用方式是由James Clark定义的。尽管这不是一个标准规范,但它被广泛使用,例如Transformer.setParameter(String name, Object value)
。此实现将QName
表示为:"{" + 命名空间URI + "}" + 本地部分。如果命名空间URI.equals(XMLConstants.NULL_NS_URI)
,则仅返回本地部分。此方法的适当用途是用于调试或记录以供人类消费。请注意,前缀值不作为
String
表示的一部分返回。此方法满足
Object.toString()
的一般约定。 -
valueOf
从格式化的
String
派生的QName
。如果
String
为null
或不符合QName.toString()
的格式,将抛出IllegalArgumentException
。该
String
必须符合由QName.toString()
返回的形式。表示
QName
的常用方式是由James Clark定义的。尽管这不是一个标准规范,但它被广泛使用,例如Transformer.setParameter(String name, Object value)
。此实现解析格式为:"{" + 命名空间URI + "}" + 本地部分的String
。如果命名空间URI.equals(XMLConstants.NULL_NS_URI)
,则应仅提供本地部分。前缀值无法在
String
中表示,并将设置为XMLConstants.DEFAULT_NS_PREFIX
。此方法不会对生成的
QName
进行完整验证。- 参数:
-
qNameAsString
-QName
的String
表示 - 返回:
-
对应于给定
String
的QName
- 抛出:
-
IllegalArgumentException
- 当qNameAsString
为null
或格式不正确时 - 参见:
-