- java.lang.Object
-
- javax.xml.namespace.QName
-
- All Implemented Interfaces:
-
Serializable
public class QName extends Object implements Serializable
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
是不可变的。- 从以下版本开始:
- 1.5
- 另请参见:
- XML Schema Part2: Datatypes specification , Namespaces in XML , Namespaces in XML Errata , Serialized Form
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object objectToTest)
测试这个QName
与另一个Object
平等。String
getLocalPart()
获取这个QName
的本地零件。String
getNamespaceURI()
获取此QName
的命名空间URI。String
getPrefix()
获取此QName
的前缀。int
hashCode()
生成此QName
的哈希码。String
toString()
String
这个QName
代表。static QName
valueOf(String qNameAsString)
QName
源自解析格式化的String
。
-
-
-
构造方法详细信息
-
QName
public 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 。 本地零件未按Namespaces in XML中规定的NCName进行验证 。
- 参数
-
namespaceURI
-的的命名空间URIQName
-
localPart
- 本地部分QName
- 异常
-
IllegalArgumentException
-localPart
是null
- 另请参见:
-
QName(String namespaceURI, String localPart, String prefix)
-
QName
public 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 。
- 参数
-
namespaceURI
-的的命名空间URIQName
-
localPart
- 本地部分的QName
-
prefix
- 前缀的QName
- 异常
-
IllegalArgumentException
-localPart
或prefix
为null
-
QName
public 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 namespaceURI, String localPart, String prefix)
是优选的。本地零件未经Namespaces in XML规定的NCName验证 。
- 参数
-
localPart
- 本地部分QName
- 异常
-
IllegalArgumentException
-localPart
是null
- 另请参见:
-
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)
的一般合同- 重写:
-
equals
在Object
- 参数
-
objectToTest
-Object
要与QName
进行平等测试 - 结果
-
true
如果给定的Object
等于这个QName
其他false
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public final int hashCode()
- 重写:
-
hashCode
在Object
- 结果
-
这个代码为
QName
Object
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
String
这个QName
代表。代表
QName
作为String
的普遍接受的方式是James Clark的defined 。 虽然这不是一个标准的规范,但它是常用的,例如Transformer.setParameter(String name, Object value)
。 此实现代表一个QName
为:“{”+命名空间URI +“}”+本地部分。 如果命名空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只返回本地部分。 这种方法的适当使用是用于人类消费的调试或记录。注意前缀值不作为
String
表示的一部分返回。该方法满足
Object.toString()
的一般合同。
-
valueOf
public static QName valueOf(String qNameAsString)
QName
派生自解析格式化的String
。如果
String
是null
或不符合QName.toString()
格式,则抛出一个IllegalArgumentException
。String
必须是由QName.toString()
返回的表单 。代表
QName
作为String
的普遍接受方式是James Clark的defined 。 虽然这不是一个标准的规范,但它是常用的,例如Transformer.setParameter(String name, Object value)
。 此实现解析为格式为:“{”+ Namespace URI +“}”+本地部分的String
。 如果命名空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只应提供本地部分。前缀值不能在
String
表示,并将设置为XMLConstants.DEFAULT_NS_PREFIX
。该方法不会对所得的
QName
进行全面验证。命名空间URI未被验证为URI reference 。 本地零件未按Namespaces in XML中规定的NCName进行验证 。
- 参数
-
qNameAsString
-String
代表性QName
- 结果
-
QName
对应给定的String
- 异常
-
IllegalArgumentException
-qNameAsString
为null
或格式错误 - 另请参见:
-
QName.toString()
-
-