如何解决在XSLT / XPath中不是* | @ *是什么意思?
谁能解释一下这行代码的实际作用:
<xsl:when test="not(*|@*)">
我知道括号内的表达式必须为false才能触发下一行代码,但我不确定如何解释它。
解决方法
当当前节点没有任何名称的子元素或属性时,测试将通过:
-
*
选择当前节点的子元素,而不考虑名称; -
@*
选择当前节点的属性,而不考虑名称; -
|
是联合运算符,并组合其操作数的节点集(或序列); -
not()
会将其参数转换为布尔值,然后将其反转。 对于节点集(或序列),空度将转换为false,然后转换为true。因此,如果没有子元素且没有属性,则通过|
的集合联合将为空,并且not()
将返回true,从而对 没有子元素和没有属性 。
信用::感谢@DimitreNovatchev对该答案的一些有益改进。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。