- 所有已实现的接口:
Serializable
QName
表示 qualified name,如 XML 规范中所定义:XML 模式第 2 部分:数据类型规范、XML 中的命名空间。
QName
的值包含 Namespace URI、local part 和 prefix。
前缀包含在 QName
中以在 XML input source
中保留词法信息 when present。前缀是 NOT,用于 QName.equals(Object)
或计算 QName.hashCode()
。相等性和哈希码是使用 only 命名空间 URI 和本地部分定义的。
如果未指定,命名空间 URI 将设置为 XMLConstants.NULL_NS_URI
。如果未指定,则前缀设置为 XMLConstants.DEFAULT_NS_PREFIX
。
QName
是不可变的。
- 自从:
- 1.5
- 参见:
-
构造方法详细信息
-
QName
QName
构造函数指定命名空间 URI 和本地部分。如果命名空间 URI 是
null
,它被设置为XMLConstants.NULL_NS_URI
。此值表示没有明确定义的命名空间,如 XML 中的命名空间 规范所定义。此操作保留与 QName 1.0 兼容的行为。明确提供XMLConstants.NULL_NS_URI
值是首选的编码风格。如果本地部分是
null
,则抛出IllegalArgumentException
。允许“”的局部部分保留与 QName 1.0 兼容的行为。使用此构造函数时,前缀设置为
XMLConstants.DEFAULT_NS_PREFIX
。命名空间 URI 未验证为 URI 参考。本地部分未验证为 XML 中的命名空间 中指定的 数控名称。
- 参数:
namespaceURI
-QName
的命名空间 URIlocalPart
-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
明确指示不存在前缀或前缀不相关。命名空间 URI 未验证为 URI 参考。本地部分和前缀未验证为 XML 中的命名空间 中指定的 数控名称。
- 参数:
namespaceURI
-QName
的命名空间 URIlocalPart
-QName
的本地部分prefix
-QName
的前缀- 抛出:
IllegalArgumentException
- 当localPart
或prefix
为null
-
QName
QName
指定本地部分的构造函数。如果本地部分是
null
,则抛出IllegalArgumentException
。允许“”的局部部分保留与 QName 1.0 兼容的行为。使用此构造函数时,命名空间 URI 设置为
XMLConstants.NULL_NS_URI
,前缀设置为XMLConstants.DEFAULT_NS_PREFIX
。In an XML context, all Element and Attribute names exist in the context of a Namespace. Making this explicit during the construction of a
QName
helps prevent hard to diagnosis XML validity errors. The constructorsQName(String namespaceURI, String localPart)
andQName(String namespaceURI, String localPart, String prefix)
are preferred.本地部分未验证为 XML 中的命名空间 中指定的 数控名称。
- 参数:
localPart
-QName
的本地部分- 抛出:
IllegalArgumentException
- 当localPart
为null
- 参见:
-
-
方法详情
-
getNamespaceURI
获取此
QName
的命名空间 URI。- 返回:
-
这个
QName
的命名空间 URI
-
getLocalPart
获取此
QName
的本地部分。- 返回:
-
这个
QName
的本地部分
-
getPrefix
获取这个
QName
的前缀。分配给
QName
的前缀可能 NOT 在不同的上下文中有效。例如,QName
可能在解析文档的上下文中分配了一个前缀,但该前缀在不同文档的上下文中可能无效。- 返回:
-
这个
QName
的前缀
-
equals
测试这个
QName
与另一个Object
是否相等。如果要测试的
Object
不是QName
或者是null
,则此方法返回false
。当且仅当名称空间 URI 和本地部分相等时,两个
QName
才被视为相等。此方法使用String.equals()
检查命名空间 URI 和本地部分的相等性。前缀是NOT,用来判断是否相等。该方法满足
Object.equals(Object)
的一般契约 -
hashCode
public final int hashCode() -
toString
这个
QName
的String
表示。将
QName
表示为String
的普遍接受方式是 James Clark 的 定义的。虽然这不是 standard 规范,但它是常用的,例如Transformer.setParameter(String name, Object value)
。此实现将QName
表示为:“{”+ 命名空间 URI +“}”+ 本地部分。如果命名空间 URI.equals(XMLConstants.NULL_NS_URI)
,则仅返回本地部分。此方法的适当用途是用于调试或记录以供人类使用。请注意,前缀值是作为
String
表示的一部分返回的 NOT。此方法满足
Object.toString()
的一般契约。 -
valueOf
QName
派生自解析格式化的String
。如果
String
是null
或不符合QName.toString()
格式,则抛出IllegalArgumentException
。The
String
MUST be in the form returned byQName.toString()
.将
QName
表示为String
的普遍接受方式是 James Clark 的 定义的。虽然这不是 standard 规范,但它是常用的,例如Transformer.setParameter(String name, Object value)
。此实现将String
格式解析为:“{”+ 命名空间 URI +“}”+ 本地部分。如果命名空间 URI.equals(XMLConstants.NULL_NS_URI)
,则只应提供本地部分。前缀值 CANNOT 在
String
中表示并将设置为XMLConstants.DEFAULT_NS_PREFIX
。此方法不会对生成的
QName
进行完整验证。命名空间 URI 未验证为 URI 参考。本地部分未验证为 XML 中的命名空间 中指定的 数控名称。
- 参数:
qNameAsString
-QName
的String
表示- 返回:
QName
对应给定的String
- 抛出:
IllegalArgumentException
- 当qNameAsString
为null
或格式错误时- 参见:
-