微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我在 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}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。