2016-07-28 56 views
0

我有一个xpath $x/descendant-or-self::*/@y,我已经改为$x//@y,因为它改善了性能。 此更改是否有其他影响?替代后代或自我

回答

2

正如在W3C XPath Recommendation中所解释的,//对于/ descendant-or-self :: node()/来说是短手的,所以这是一个细微的差别。但是因为属性只能出现在元素上,所以我认为这个替换是安全的。

这也可以解释为什么你会看到性能提升,因为MarkLogic将不必担心它们之间是否真的存在元素。

HTH!