天道不一定酬所有勤
但是,天道只酬勤

QName

最近在看Tuscany SCA In Action这本书,在学习Tuscany的Extension这一章节中关于自定义componentnton的过程中,有这样一种语法的代码:pojo.impl.POJOImplementationProcessor;qname=http://pojo#implementation.pojo, model=pojo.POJOImplementation所以,就简单学习了一个qname。(语法其他内容请看Java中的SPI)

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

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

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

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

QName 是不可变的。

1.来历:qname是qualified name 的简写 2.构成:由名字空间(namespace)前缀(prefix)以及冒号(:),还有一个元素名称构成 3.举例:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
     version="1.0">
  <xsl:template match="foo">
    <hr/>
  </xsl:template>
</xsl:stylesheet>

xsl是名字空间前缀,template是元素名称,xsl:template 就是一个qname 4.总结:qname无非是有着特定格式的xml元素,其作用主要是增加了名字空间,比如有同样的元素名称,而名字空间不同的情况。先了解这么多,请大家补充。

参考:http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/javax/xml/namespace/QName.html

(全文完)
欢迎关注HollisChuang微信公众账号
打赏

如未加特殊说明,此网站文章均为原创,转载必须注明出处。HollisChuang's Blog » QName

分享到:更多 ()

HollisChuang's Blog

联系我关于我