Технология XSLT
Шрифт:
Как и во многих других языках, операция "и" (
Приведем синтаксические правила продукций логических операций XPath. Операции "или" соответствует продукция
Операции
Перечень арифметических операций в XPath довольно ограничен. К ним относится сложение, вычитание, умножение, деление и унарная операция отрицания, которая меняет значение операнда на противоположное. Кроме того, числа можно сравнивать при помощи операторов сравнения.
Арифметические операции
Арифметические операции XPath сведены в табл. 6.3.
Таблица 6.3. Арифметические операции в XPath-выражениях
| Операция | Синтаксис |
|---|---|
| Сложение | A + B |
| Вычитание | A - B |
| Умножение | A * B |
| Деление | A div B |
| Остаток деления | A mod B |
| Унарное отрицание | – A |
Если операнды, значения, участвующие в операции, не являются числами, они сначала приводятся к этому типу, а уж затем производится операция. Например, можно легко перемножать литералы:
Арифметические действия в XPath работают, что называется, "как обычно", то есть совершенно стандартным образом. Арифметика XPath основывается на стандарте IEEE 754, который был использован и в других распространенных языках программирования, например в Java. Пожалуй, следует лишь обратить внимание на операторы деления, поскольку в разных языках они означают разные действия и потому легко запутаться.
Оператор
Примеры:
Оператор
Оператор mod аналогичен оператору "
Результат остатка от деления имеет тот же знак, что и делимое. Этот факт можно использовать для того, чтобы выполнять деление без остатка, например число
Пример:
Во избежание ошибок следует аккуратно использовать знак вычитания в арифметических операциях. Дело в том, что синтаксис XML разрешает использовать символ "
Приведем продукции выражений с арифметическими операциями.
Унарному отрицанию соответствует продукция
Попробуем упростить это правило, раскрыв рекурсию
Таким образом, унарное отрицание можно повторять несколько раз:
Умножению, делению и вычислению остатка деления соответствует одна продукция
Оператор умножения вынесен в отдельное правило:
Сложению и вычитанию соответствует правило
Операции сравнения
XPath позволяет сравнивать числа при помощи операторов, перечисленных в табл. 6.4.