2014-04-14 3 views
0

какая операция более актуальна в XQuery: AND или OR?Соответствие логических операторов в XQuery

Например: (a и b или c) равно 1 o 2?

  1. (а и б) или
  2. а и (б или в)

Cheers, Deborah

+0

Я не знаю о xquery, но ** [ЭТО] (http://en.wikipedia.org/wiki/Order_of_operations#Programming_languages) ** говорит, что это должно быть '(a и b) или c' –

ответ

2

Я предполагаю, что "более уместна" вы имеете в виду, что другие люди будут фразы как «связывать более тесно» или «имеют более высокий приоритет». В XQuery a and b or c анализируется как (a and b) or c, а не как a and (b or c).

Это можно увидеть в спектаклях 46 и 47 the XQuery grammar:

[46] OrExpr :: = AndExpr ("или" AndExpr) *

[47] AndExpr :: = ComparisonExpr (»и« ComparisonExpr »*

Он также может быть показан в двигателе XQuery, оценивая выражение false() and true() or true(). То, что это результат приоритета оператора, а не оценки слева направо, можно увидеть путем переупорядочения выражения и оценки true() or true() and false().

Смежные вопросы