xsl:value-of¶
Элемент xsl:value-of служит для вычисления значений выражений.
Синтаксис¶
1 2 3 4 | |
Атрибуты:
select- обязательный атрибут, задает выражение, которое вычисляется процессором, затем преобразовывается в строку и выводится в результирующем дереве в виде текстового узла. Процессор не станет создавать текстовый узел, если результатом вычисления выражения была пустая строка. В целях оптимизации дерева, соседствующие текстовые узлы будут объединены в один.
disable-output-escaping- необязательный атрибут, служит для вывода специальных символов, которые в противном случае были бы заменены сущностями.
Описание и примеры¶
Элемент xsl:value-of очень похож на элемент xsl:copy-of, только в отличие от последнего он сначала преобразовывает вычисленное выражение к строковому виду, а уж затем выводит его в выходящий документ. Иными словами, выражение
1 | |
равносильно
1 | |
Соответственно, преобразование различных типов данных в строковый тип производится точно так же, как если бы мы использовали для этой цели функцию string.
Пример 1¶
Для составления таблицы умножения можно воспользоваться следующим преобразованием.
Листинг 7.14. Входящий документ
1 2 3 4 5 6 7 8 9 10 11 | |
Листинг 7.15. Преобразование, создающее таблицу умножения
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Листинг 7.16. Выходящий документ
1 2 3 4 5 6 7 8 9 | |
В данном случае элемент xsl:value-of используется для вычисления произведения переменных a и b. Численный результат преобразуется в строку и выводится в выходящий документ в виде текста.
Равно, как и xsl:text, элемент xsl:value-of может иметь атрибут disable-output-escaping, полезный для вывода специальных символов, которые в противном случае были бы заменены сущностями.
Пример 2¶
Результатом выполнения элемента
1 | |
будет текстовый узел
1 | |
Чтобы придать амперсанту более привычный вид, мы можем использовать атрибут disable-output-escaping:
1 2 3 4 | |
Результатом выполнения этого шаблона уже будет текст:
1 | |
См. также¶
Ссылки¶
xsl:value-ofMDN (рус.)xsl:value-ofMSDN (en)