无法在XQUERY中返回functionValue

时间:2011-10-27 11:43:58

标签: xquery

如果我发出以下查询,则它不返回任何内容:

let $b := doc("books.xml")//book
let $avg := avg( $b//price )
return $avg

但是以下查询返回满足条件的book节点,

let $b := doc("books.xml")//book
let $avg := avg( $b//price )
return $b[price > $avg]

怎么样?如何在前一种情况下按预期返回函数值。

我也试过return $avg/text(),希望能让它发挥作用,但没有用。 我正在使用撒克逊人。

提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以不用让我这样做:avg(doc("books.xml")//book/price)。对于您可能引用的books.xml示例文件,返回17.86666666666667。

您也可以使用let - 结构,但您要使用的功能称为avg,而不是average

let $b := doc("books.xml")//book
let $avg := avg( $b//price )
return $avg