我有一个xpath $x/descendant-or-self::*/@y
,我已将其更改为$x//@y
,因为它改善了性能。
这种变化是否会产生其他影响?
答案 0 :(得分:2)
正如W3C XPath Recommendation中所解释的那样,//是/ descendant-or-self :: node()/的简写,所以这是一个细微的差别。但由于属性只能出现在元素上,我认为这种替换是安全的。
这也可以解释为什么你会看到性能提升,因为MarkLogic需要更少担心其间是否存在元素。
HTH!