加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – xslt中两个正斜杠的目的是什么? “//”

发布时间:2020-12-16 23:15:24 所属栏目:百科 来源:网络整理
导读:我在 XML类中,并具有以下代码行. xsl:value-of select="count(//@qty)" / 在qty属性之前“//”的目的是什么?它指的是什么? 解决方法 这里,//是descendant :: axis的等价物,因此它将返回作为上下文节点后代的所有@qty值.即:在这种情况下,没有给出上下文,因
我在 XML类中,并具有以下代码行.

<xsl:value-of select="count(//@qty)" />

在qty属性之前“//”的目的是什么?它指的是什么?

解决方法

这里,//是descendant :: axis的等价物,因此它将返回作为上下文节点后代的所有@qty值.即:在这种情况下,没有给出上下文,因此它应该返回文档的所有值.

如果你有.//那么上下文将是当前节点,输出将是来自该节点的所有后代,而不是文档.

更新正如David正确指出的那样,这两个表达式并不完全等效,只是在功能上等同于您的问题.他注意到下面的微妙之处.但是,我想你会发现虽然在技术上//确实等同于descendant-or-self :: node():

//x == //descendant-or-self::node()/x

期望后代::使用//因为:

<x/>//* => ()
<x/>/descendant-or-self::* => <x/>

你不能简单地使用//没有东西来选择.因此,没有任何情况//实际上可以给你 – 或 – 自我部分.

/a/b// => {error}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读