Валиков Алексей Н.
Шрифт:
□ равенство численных значений понимается в обычном смысле (строгое определение равенства чисел дано в стандарте IEEE 754, но вряд ли оно представляет для нас большой интерес);
□ две строки равны тогда и только тогда, когда они представлены одинаковыми последовательностями Unicode-символов.
Два значения простых типов (то есть — булевого, численного или строкового типа) неравны тогда и только тогда, когда для них не выполняется равенство.
Примеры сравнения значений простых типов:
□
При приведении числа
□
Результатом приведения числа
□
При приведении непустой строки "false" к булевому типу, получается "истина". Отсюда — неверность равенства.
□
□
Это равенство также будет верным, поскольку результатом преобразования строки "
□
Результатом преобразования строки "
При сравнении с использованием операторов "
Примеры сравнений с использованием операторов "
В численном виде
Это сравнение равносильно сравнению
Это сравнение равносильно сравнению
Следует обратить внимание, на то, что символы "
Логические операции
В XSLT имеются две логические операции —
Семантика
Результатом операции
Результатом операции
Функции
Функции значительно расширяют возможности выражений. Они принимают на вход несколько аргументов и возвращают некоторый результат, который иногда является продуктом весьма замысловатого вычисления.
Функции можно условно разделить на стандартные функции, которые определены в XPath и XSLT и должны поддерживаться (хотя на самом деле поддерживаются далеко не всегда) всеми XSLT-процессорами, и функции расширения, которые могут создаваться разработчиками в дополнение к стандартным функциям.
Контекст вычисления выражений
Выражения всегда вычисляются в некотором контексте — окружении, которое зависит от того, какая часть документа обрабатывается XSLT-процессором в данный момент, и какие объявления присутствовали в самом преобразовании.
Контекст преобразования состоит из узла, называемого контекстным узлом, двух целых чисел — размера контекста и позиции в контексте, объявлений переменных, объявлений пространств имен и библиотеки функций.