QName【转】
2014-04-10 11:32
141 查看
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
namespace prefix and associate it with a namespace URI.
For example, suppose your document contains names from both the XSLT and XHTML namespaces. In this situation, it is customary to associate the namespace prefix “
to refer to the XHTML namespace.
A qualified name has three parts:
A namespace prefix.
A colon character, “
A local name that gives the name of the element or attribute within that namespace.
For example, here is a fragment illustrating the use of qualified names:
Element
You can also use an unqualified name, which is just a local name without the namespace prefix. The namespace of such a name is called the
default namespace.
The association between a namespace prefix and a namespace URI is made with an
An attribute named
An attribute named
Here is an example of a complete document using elements from two namespaces:
In this example, the
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
namespace prefix and associate it with a namespace URI.
For example, suppose your document contains names from both the XSLT and XHTML namespaces. In this situation, it is customary to associate the namespace prefix “
xsl” with XSLT. You might use prefix “
html”
to refer to the XHTML namespace.
A qualified name has three parts:
A namespace prefix.
A colon character, “
:”.
A local name that gives the name of the element or attribute within that namespace.
For example, here is a fragment illustrating the use of qualified names:
<xsl:template match="separator"> <html:hr/> </xsl:template>
Element
templateis in the XSLT namespace, and element
hris in the HTML namespace.
You can also use an unqualified name, which is just a local name without the namespace prefix. The namespace of such a name is called the
default namespace.
The association between a namespace prefix and a namespace URI is made with an
xmlnsattribute located in some element. This attribute can have two forms:
An attribute named
xmlns='defines the namespace URI of the default namespace. This namespace is associated with all elements and attributes that have unqualified names.nsURI'
An attribute named
xmlns:'[/code] associates the givenprefix='[code]nsURI
prefix[/code] with the namespace URI
nsURI[/code].
Here is an example of a complete document using elements from two namespaces:
<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>
In this example, the
templateelement is in the XSLT namespace. The
hrelement is in the default namespace, which is associated with the XHTML namespace URI.
相关文章推荐
- 关于Qname的解释
- QName HelloWorld ---记CXF中QName的使用
- weblogic启动异常:Parsing Failure in config.xml: javax.xml.namespace.QName; local class incompatible
- qname
- xml读取.sax解析方式 使用于Android 和java中 ,代码是java的, 在Android中只需要 区别监听类中的参数(localName,qName),相反的,java中使用qname 为节点的名称;
- AS3-E4X、QName
- javax.xml.namespace.QName
- Java 异常 —— java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible
- javax.xml.ws.Service 报错The constructor Service(URL, QName, WebServiceFeature[]) is undefined的解决方案
- cxf下的Service(URL, QName, WebServiceFeature[]) is undefined
- java的Qname在C#中对应的是什么
- QName[转]
- 什么是QName(转)
- RPCs及QName小结
- 什么是QName
- 什么是QName
- [转载]javax.xml.namespace.QName是什么
- java 解析xml中参数解释-localName和qName
- xml sax localName和qName的区别
- Qname是什么