这种属性值之和的写法哪种更好?

Which way of writing this sum of attribute values is better?

我想对后代元素的两个属性求和。这个 XPath 表达式完成了我想要的:

sum(a/b/@x) + sum(a/b/@y)

...但是两次调用 a/b 路径表达式的计算似乎效率很低。如果我需要对这些属性中的三个或更多个进行求和,那就更尴尬了。

我的想法是这样的:

sum(a/b/@*[name() = ('x','y')])

这个表达式有没有更聪明的写法?

您可以使用 sum(a/b/(@x, @y))