Книга: Технология XSLT

Операции с булевыми значениями

Операции с булевыми значениями

XPath поддерживает только две логические операции — and (логическое "и") и or (логическое "или"). В XPath нет оператора логического отрицания, вместо него применяется функция not, которая возвращает "истину", если аргументом была "ложь" и наоборот.

Логические операторы в XPath бинарны, то есть требуют два операнда булевого типа. Если операнды имеют другой тип, то они будут приведены к булевым значениям.

Логические вычисления в XPath абсолютно стандартны. Мы приведем их для справки в табл. 6.2.

Таблица 6.2. Вычисление логических выражений

Значение Выражение
A B A or В A and В
false false false false
false true true false
true false true false
true true true true

Как и во многих других языках, операция "и" (and) старше операции "или" (or). Например, такое выражение, как A and B or C and D or E эквивалентно выражению (A and В) or (С and D) or E.

Приведем синтаксические правила продукций логических операций XPath. Операции "или" соответствует продукция OrExpr, операции "и" — продукция AndExpr.

[XP21] OrExpr  ::= AndExpr | OrExpr 'or' AndExpr
[XP22] AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr

Оглавление книги


Генерация: 1.165. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз