javax.xml.namespace

接口
java.lang.Object
  继承者 javax.xml.namespace.QName
所有已实现的接口:
Serializable

public class QName
     
extends Object
implements Serializable

QName 表示 XML 规范中定义的限定名称XML 模式第二部分:Datatypes specificationNamespaces in XMLNamespaces in XML 勘误表

QName 的值包含名称空间 URI本地部分前缀

QName 中包括前缀,以保留词汇信息(当在 XML 输入源存在 时)。前缀 用于 QName.equals(Object) 或计算 QName.hashCode() 使用名称空间 URI 和本地部分定义相等性和哈希码。

如果没有指定名称空间 URI,则将其设置为 XMLConstants.NULL_NS_URI。如果没有指定前缀,则将其设置为 XMLConstants.DEFAULT_NS_PREFIX

QName 是不可变的。

从以下版本开始:
1.5
另请参见:
XML 模式第二部分:Datatypes specification, Namespaces in XML, Namespaces in XML 勘误表, 序列化表格

构造方法摘要
QName(String localPart)
          指定本地部分的 QName 构造方法。
QName(String namespaceURI, String localPart)
          指定名称空间 URI 和本地部分的 QName 构造方法。
QName(String namespaceURI, String localPart, String prefix)
          指定名称空间 URI、本地部分和前缀的 QName 构造方法。
 
方法摘要
 boolean equals(Object objectToTest)
          测试此 QName 与另一个 Object 的相等性。
 String getLocalPart()
          获取此 QName 的本地部分。
 String getNamespaceURI()
          获取此 QName 的名称空间 URI。
 String getPrefix()
          获取此 QName 的前缀。
 int hashCode()
          生成此 QName 的哈希码。
 String toString()
          此 QNameString 表示形式。
static QName valueOf(String qNameAsString)
          从解析格式化 String 中派生的 QName
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

QName

public QName(String namespaceURI,
             String localPart)

指定名称空间 URI 和本地部分的 QName 构造方法。

如果名称空间 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 参考验证。没有按 Namespaces in XML 中的指定将本地部分作为 NCName 来验证。

参数:
namespaceURI - QName 的名称空间 URI
localPart - QName 的本地部分
抛出:
IllegalArgumentException - 当 localPartnull
另请参见:
QName(String namespaceURI, String localPart, String prefix)

QName

public QName(String namespaceURI,
             String localPart,
             String prefix)

指定名称空间 URI、本地部分和前缀的 QName 构造方法。

如果名称空间 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 参考验证。没有按 Namespaces in XML 中的指定将本地部分和前缀作为 NCName 来验证。

参数:
namespaceURI - QName 的名称空间 URI
localPart - QName 的本地部分
prefix - QName 的前缀
抛出:
IllegalArgumentException - 当 localPartprefixnull

QName

public QName(String localPart)

指定本地部分的 QName 构造方法。

如果本地部分为 null,则抛出 IllegalArgumentException。允许 "" 的本地部分保持与 QName 1.0 的兼容行为。

使用此构造方法时,将名称空间 URI 设置为 XMLConstants.NULL_NS_URI,并将前缀设置为 XMLConstants.DEFAULT_NS_PREFIX

在 XML 上下文中,所有元素和属性名称都存在于名称空间的上下文中。在构造 QName 的过程中,使其显式存在有助于避免诊断 XML 有效性错误的难度。优先使用构造方法 QName(String namespaceURI, String localPart)QName(String namespaceURI, String localPart, String prefix)

没有按 Namespaces in XML 中的指定将本地部分作为 NCName 来验证。

参数:
localPart - QName 的本地部分
抛出:
IllegalArgumentException - 当 localPartnull
另请参见:
QName(String namespaceURI, String localPart), QName(String namespaceURI, String localPart, String prefix)
方法详细信息

getNamespaceURI

public String getNamespaceURI()

获取此 QName 的名称空间 URI。

返回:
QName 的名称空间 URI

getLocalPart

public String getLocalPart()

获取此 QName 的本地部分。

返回:
QName 的本地部分

getPrefix

public String getPrefix()

获取此 QName 的前缀。

分配给 QName 的前缀在其他上下文中可能 效。例如,可以在解析文档的上下文中为 QName 分配一个前缀,但是,该前缀可能在其他文档的上下文中无效。

返回:
QName 的前缀

equals

public final boolean equals(Object objectToTest)

测试此 QName 与另一个 Object 的相等性。

如果要测试的 Object 不是 QName,或为 null,那么此方法返回 false

当且仅当名称空间 URI 和本地部分相等时,才认为两个 QName 相等。此方法使用 String.equals() 检查名称空间 URI 和本地部分的相等性。前缀不能 用于确定相等性。

此方法满足 Object.equals(Object) 的常规协定。

覆盖:
Object 中的 equals
参数:
objectToTest - 要测试与此 QName 相等性的 Object
返回:
如果给定的 Object 等于此 QName,则返回 true,否则返回 false
另请参见:
Object.hashCode(), Hashtable

hashCode

public final int hashCode()

生成此 QName 的哈希码。

使用 QName 的名称空间 URI 和本地部分计算哈希码。前缀不能 用于计算哈希码。

此方法满足 Object.hashCode() 的常规协定。

覆盖:
Object 中的 hashCode
返回:
QName Object 的哈希码
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()

QNameString 表示形式。

James Clark 定义了将 QName 表示为 String 的公认方法。虽然这不是标准 规范,但其使用很频繁,例如 Transformer.setParameter(String name, Object value)。此实现将 QName 表示为:"{" + Namespace URI + "}" + 本地部分。如果名称空间 URI .equals(XMLConstants.NULL_NS_URI),则仅返回本地部分。此方法适用于调试或记录人为消耗。

注:前缀值不能 作为 String 表示形式的一部分返回。

此方法满足 Object.toString() 的常规协定。

覆盖:
Object 中的 toString
返回:
QNameString 表示形式

valueOf

public static QName valueOf(String qNameAsString)

从解析格式化 String 中派生的 QName

如果 Stringnull,或者不符合 QName.toString() 格式,则抛出 IllegalArgumentException

String 必须QName.toString() 返回的格式。

James Clark 定义了将 QName 表示为 String 的公认方法。虽然这不是标准 规范,但其使用很频繁,例如 Transformer.setParameter(String name, Object value)。此实现将 String 解析为以下格式:"{" + Namespace URI + "}" + 本地部分。如果名称空间 URI .equals(XMLConstants.NULL_NS_URI),则仅提供本地部分。

不能String 表示前缀值,并将它设置为 XMLConstants.DEFAULT_NS_PREFIX

此方法不能完全验证生成的 QName

名称空间 URI 不根据 URI 参考验证。没有按 Namespaces in XML 中的指定将本地部分作为 NCName 来验证。

参数:
qNameAsString - QNameString 表示形式
返回:
与给定 String 对应的 QName
抛出:
IllegalArgumentException - 当 qNameAsStringnull 或出错时
另请参见:
QName.toString()