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
是不可变的。
Constructor and Description |
---|
QName(String localPart)
QName 指定本地零件的构造函数。
|
QName(String namespaceURI, String localPart)
QName 构造函数指定命名空间URI和本地部分。
|
QName(String namespaceURI, String localPart, String prefix)
QName 构造函数指定命名空间URI,本地部分和前缀。
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object objectToTest)
测试这
QName 与另一个
Object 的平等。
|
String |
getLocalPart()
获取本
QName 的本地部分。
|
String |
getNamespaceURI()
获取此的命名空间URI
QName 。
|
String |
getPrefix()
获取此
QName 的前缀。
|
int |
hashCode()
生成这个
QName 的哈希码。
|
String |
toString()
String 这个
QName 。
|
static QName |
valueOf(String qNameAsString)
QName 源自解析格式化的
String 。
|
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 。 本地部分不会验证为NCName在指定的Namespaces in XML 。
namespaceURI
-命名空间的URI
QName
localPart
- 本地部分
QName
IllegalArgumentException
- 当时
localPart
是
null
QName(String namespaceURI, String localPart, String prefix)
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 。 本地部分和前缀不验证为NCName在指定的Namespaces in XML 。
namespaceURI
-命名空间的URI
QName
localPart
- 本地部分
QName
prefix
- 前缀的
QName
IllegalArgumentException
-
localPart
或
prefix
为
null
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)
是优选的。
本地部分不会验证为NCName在指定的Namespaces in XML 。
localPart
- 本地部分
QName
IllegalArgumentException
- 当
localPart
是
null
QName(String namespaceURI, String localPart)
,
QName(String namespaceURI, String localPart, String prefix)
public String getNamespaceURI()
获取此的命名空间URI QName
。
QName
空间URI
public String getLocalPart()
获取本QName
的本地部分。
QName
public String getPrefix()
获取此QName
的前缀。
分配给一个前缀QName
可能无法在不同的上下文中有效。 例如, QName
可以在解析文档的上下文中被分配前缀,但该前缀在不同文档的上下文中可能是无效的。
QName
前缀
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
public final int hashCode()
hashCode
在
Object
QName
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
String
表示此QName
。
代表QName
作为String
的普遍接受的方式是James Clark的defined 。 虽然这不是标准规范,但它是常用的,例如Transformer.setParameter(String name, Object value)
。 这个实现表示一个QName
为:“{”+ Namespace URI +“}”+本地部分。 如果命名空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只返回本地部分。 这种方法的适当使用是用于人类消费的调试或记录。
注意前缀值不作为String
表示的一部分返回。
此方法满足的总承包Object.toString()
。
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)
。 此实现解析为String
格式为:“{”+ Namespace URI +“}”+本地部分。 如果命名空间URI为.equals(XMLConstants.NULL_NS_URI)
,则只应提供本地部分。
前缀值不能在String中String
,并将设置为XMLConstants.DEFAULT_NS_PREFIX
。
该方法不会对所得的QName
进行全面QName
。
命名空间URI未验证为URI reference 。 本地部分不会验证为NCName在指定的Namespaces in XML 。
qNameAsString
-
String
表示
QName
QName
对应给定的
String
IllegalArgumentException
- 当
qNameAsString
为
null
或格式错误
QName.toString()