gpt4 book ai didi

xpath - ['#' ] 和 [. ='#']?

转载 作者:行者123 更新时间:2023-12-03 17:14:57 24 4
gpt4 key购买 nike

['#'] 之间到底有什么区别?和 [.='#'] ?有什么区别吗?

在例如以下表达式:

<xsl:template match="a/@href[.='#']">...</xsl:template>
<xsl:template match="a/@href['#']">...</xsl:template>

最佳答案

如果包含的表达式不正确,则谓词过滤。 [.='#']测试当前上下文 ( . ) 的字符串内容是否等于 # ,因此第一个模板将返回所有 @href <a href="#">...</a> 等链接的属性.

第二个模板不包含 bool 语句,它也不是数字的(所以它是一个位置测试)。它将按照 boolean 给出的方式进行评估功能:

Function: boolean boolean(object)

The boolean function converts its argument to a boolean as follows:

  • a number is true if and only if it is neither positive or negative zero nor NaN
  • a node-set is true if and only if it is non-empty
  • a string is true if and only if its length is non-zero
  • an object of a type other than the four basic types is converted to a boolean in a way that is dependent on that type


在这里,我们有一个具有有效 bool 值的非空字符串 true ,因此第二个模板中的谓词永远不会过滤任何内容。
//a[@href] 中的谓词另一方面,将过滤所有包含 @href 的链接。属性(在这里,我们过滤一个节点集)。

关于xpath - ['#' ] 和 [. ='#']?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com