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