QName简单解释
?Qname这个东东,在使用dom4j的时候,经常见到,可能是自己解析的xml都太简单了,所以没有仔细研究过,就是觉得名字很怪异,在google百度搜索“什么是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://infohost.nmt.edu/tcc/help/pubs/pyxml/def-qname.html
原文如下:
A document may contain elements and attributes from more than one namespace URI. Because namespace URIs can be quite lengthy, it is cumbersome to include the complete namespace URI in each element or attribute name.
XML allows a shorthand notation to simplify assigning names to namespaces. You may invent a short A namespace prefix. A colon character, “ ? Element? An attribute named? In this example, the?<xsl:template match="separator"> <html:hr/></xsl:template>
<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>
template
?element is in the XSLT namespace. The?hr
?element is in the default namespace, which is associated with the XHTML namespace URI.