- 所有已实现的接口:
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
QNamehelps 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
StringMUST 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或格式错误时- 参见:
-