代码之家  ›  专栏  ›  技术社区  ›  LandonSchropp

xquery all函数

  •  0
  • LandonSchropp  · 技术社区  · 14 年前

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

    谢谢。

    1 回复  |  直到 12 年前
        1
  •  4
  •   user357812    14 年前

    这些被称为量化表达式。从 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的超集