Xquery所有功能

时间:2010-11-08 19:25:53

标签: xquery

这可能看起来像一个愚蠢的问题,但我已经谷歌搜索了十五分钟,似乎无法找到我正在寻找的东西。我确定特定集合中的所有节点是否对给定谓词返回true。例如,如果我有一组整数节点,我可能想知道它们是否都大于5.这看起来很简单,但我似乎找不到要使用的关键字或函数。

感谢。

1 个答案:

答案 0 :(得分:4)

这些称为量化表达式。来自http://www.w3.org/TR/xpath20/#id-quantified-expressions

  

量化表达式支持   存在的和普遍的   量化。 a的价值   量化表达总是正确的   或者是假的。

     

QuantifiedExpr ::= ("some" | "every") "$" VarName "in" ExprSingle ("," "$" VarName "in" ExprSingle)* "satisfies" ExprSingle

这个XQuery表达式:

every $num in /test/num/number() satisfies $num gt 5

使用此输入:

<test>
  <num>3</num>
  <num>4</num>
  <num>5</num>
</test>

结果:

false

注意:XQuery 1.0是XPath 2.0的超集