Технология XSLT
Шрифт:
Мы можем определить две переменные с одинаковыми локальными частями имен в разных пространствах, используя при определении имени префикс. Естественно, префикс должен быть заранее связан с URI пространства имен.
В этом преобразовании количество элементов документа, принадлежащих пространству имен
Отсутствие префикса в XPath-выражениях не означает, что следует использовать префикс по умолчанию. Отсутствие префикса означает, что префикс является нулевым со всеми вытекающими последствиями. Например, если шаблон
будет корректен, в шаблоне
процессор не сможет найти объявление переменной
Операции с булевыми значениями
XPath поддерживает только две логические операции —
Логические операторы в 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 |
Как и во многих других языках, операция "и" (
Приведем синтаксические правила продукций логических операций 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. Пожалуй, следует лишь обратить внимание на операторы деления, поскольку в разных языках они означают разные действия и потому легко запутаться.
Оператор
Примеры:
Оператор