Xquery All Function - PullRequest
       4

Xquery All Function

0 голосов
/ 08 ноября 2010

Это может показаться глупым вопросом, но я гуглю уже пятнадцать минут и не могу найти то, что ищу. Я должен определить, все ли узлы в определенном наборе возвращают истину для данного предиката. Например, если у меня есть набор целочисленных узлов, я бы хотел узнать, все ли они больше 5. Это кажется достаточно простым, но я не могу найти ключевое слово или функцию для использования.

Спасибо.

1 Ответ

4 голосов
/ 08 ноября 2010

Это так называемые количественные выражения.От http://www.w3.org/TR/xpath20/#id-quantified-expressions

Количественные выражения поддерживают экзистенциальную и универсальную количественную оценку.Значение количественного выражения всегда истинно или ложно.

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

...