`

什么是QName

    博客分类:
  • xml
阅读更多
   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 “xsl” with XSLT. You might use prefix “html” to refer to the XHTML namespace.

A qualified name has three parts:

1.
A namespace prefix.

2.
A colon character, “:”.

3.
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 template is in the XSLT namespace, and element hr is 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 xmlns attribute located in some element. This attribute can have two forms:


An attribute named xmlns='nsURI' defines the namespace URI of the default namespace. This namespace is associated with all elements and attributes that have unqualified names.


An attribute named xmlns:prefix='nsURI' associates the given prefix with the namespace URI nsURI.


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 template element is in the XSLT namespace. The hr element is in the default namespace, which is associated with the XHTML namespace URI.
分享到:
评论

相关推荐

    qname.jar 包 下载

    qname.jar qname.jar

    prefix cannot be "null" when creating a QName

    QName qname = new QName(namespaceURI, localPart, prefix); ``` #### 4. **库版本与兼容性问题** - **Bea WebLogic Server**: - 问题可能与使用的库版本有关,例如`com.bea.xml.stream.MXParser`。 - 如果...

    qname.jar 包

    1. Add the QName JAR file (qname.jar) into the WEB-INF/lib folder in your WAR file 2. Add a file weblogic.xml into the WEB-INF folder in your WAR file Below is an example weblogic.xml file: &lt;!DOCTYPE ...

    xmlbeans-qname.jar

    xmlbeans-qname.jar

    js-qname:简单的QName(命名空间URI +本地名称)JavaScript的对象实现

    JavaScript中的QName(全称限定名)是一种在XML和相关技术中广泛使用的概念,它用于唯一地标识元素、属性和命名空间中的其他项。QName由两部分组成:命名空间URI(Uniform Resource Identifier)和本地名称。js-...

    jsr173_1.0_api.jar rasolver.jar xbean.jar xbean_xpath.jar xmlbeans-qname.jar

    xmlbeans-qname.jar包含了对QName(XML命名空间限定名称)的支持,这对于处理XML Schema中的命名空间非常重要。 5. **jaxen-1.1-beta-2.jar**: Jaxen是一个独立于XML解析器的XPath库,它提供了在各种XML API(如...

    weblogic javax/xml/namespace/QName报错-附件资源

    weblogic javax/xml/namespace/QName报错-附件资源

    CXF动态webservice客户端demo

    你需要传递WSDL URL和服务QName(命名空间+服务名)来实例化服务对象。 ```java URL wsdlLocation = new URL("http://example.com/service?wsdl"); QName serviceName = new QName(...

    使用axis1.3构建自己的SOAP应用程序源码

    在本文中,我们将深入探讨如何使用Apache Axis1.3框架构建自定义的SOAP(Simple Object Access Protocol)应用程序。SOAP是一种基于XML的协议,用于在Web服务中交换结构化信息。Apache Axis是Apache软件基金会开发的...

    oracle调用webservice接口地址demo

    call_sys := sys.utl_dbws.create_call(service_sys, port_qname, operation_qname); -- 设置目标地址 sys.utl_dbws.set_target_endpoint_address(call_sys, '...

    MQ常用命令大全

    - 定义一个名为QNAME的本地队列作为死信队列,持久化设置为开启。 5. **设定队列管理器的死信队列** - `runmqsc "ALTER QMGR DEADQ(QNAME)"` - 设置队列管理器的死信队列为QNAME。 6. **定义队列** - `runmqsc...

    IBM MQ使用指南

    使用命令 `DEFINE QLOCAL(QNAME) REPLACE` 创建队列,其中 `QNAME` 是队列的名称。 (2)删除队列 使用命令 `DELETE QLOCAL(QNAME)` 删除队列。 (3)往队列中放消息 使用命令 `amqsput QName QmgrName` 往队列...

    WebSphere MQ应用之常用命令大盘点.doc

    - `amqsput QName QmgrName` 将消息写入队列`QName`,队列属于队列管理器`QmgrName`。 - `amqsget QName QmgrName` 从队列`QName`中读取消息,队列同样属于`QmgrName`。 7. 启动通道/停止侦听: - `runmqchl –c...

    IBM websphere MQ 命令大全

    - **示例**:`DEFINE Q MODEL TestModel QNAME DEFTYPE TEMP DYN` 定义一个名为 TestModel 的临时动态队列。 - **`DEFINE Q LOCAL &lt;QTNAME&gt; USAGE(XMITQ) DEFPSIST(YES) + INIT QSYSTEM.CHANNEL.INITQ + PROCESS...

    bpel repository

    ### BPEL Repository详解 #### 一、BPEL简介 **业务流程执行语言(Business Process Execution Language,简称BPEL)**是一种用于定义服务之间的交互流程的标准编程语言。它主要用于构建复杂的业务流程,这些流程...

    oracle调用webService

    为什么要在 Oracle 中访问 WebService? 在系统实现中,有时会有直接在数据库端利用触发器、存储过程等方式进行数据传递、分发的业务,而其中可能会涉及一些业务逻辑,为了处理这些业务逻辑,并简单起见,可以直接...

    JMS获取与发送MQ信息 MQ命令

    4. **死信队列**:死信队列处理无法投递的消息,可以通过`DEFINE QLOCAL (QNAME) DEFPSIST (YES) REPLACE`定义本地死信队列,并使用`ALTER QMGR DEADQ (QNAME)`设定队列管理器的死信队列。 5. **远程队列和模型队列...

    我学习mq的一些总结

    - 定义别名队列:`DEFINE QALIAS(QALIASNAME) TARGQ(QNAME) REPLACE` - 定义远程队列:`DEFINE QREMOTE(QRNAME) RNAME(Q_NAME) RQMNAME(QMGRNAME) XMITQ(QTNAME)` #### 通道 通道用于连接不同的队列管理器,实现...

    Websphere MQ常用命令

    - `amqsput QName QmgrName`:向QMgrName队列管理器中的QName队列发送消息。 - `amqsget QName QmgrName`:从QMgrName队列管理器中的QName队列获取消息。 6. 启动和停止通道: - `runmqchl –c ChlName –m ...

Global site tag (gtag.js) - Google Analytics