XSLT | страница 79
• >disable-output-escaping
. Устанавливается в >yes
для того, чтобы такие символы, как < и >, выводились буквально, а не как ><
и >>
. По умолчанию установлен в >no
.
Этот элемент может содержать только текстовый узел.
Текстовые узлы создаются при помощи элемента >
, позволяющего по ходу дела замещать элементы целиком на текст. Одна из целей применения >
— сохранить символы-разделители, как в следующем примере (листинг 3.4), в котором элемент >
используется для вставки пробелов.
>
>
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
>
>
>
> The Planets Table
>
>
>
>
> The Planets Table
>
>
>
Name >
Mass >
Radius >
Day >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Новый результат виден на рис. 3.2, на котором между числовыми значениями и их единицами измерения вставлены пробелы.
Рис. 3.2. Вывод значений атрибутов, второй вариант
Как видите, элемент >
весьма удобен. Тем не менее вам следует знать вот что: по умолчанию элементы >
заменяют символы, которые могут входить в разметку, на эскейп-последовательности. Например, >
будет выведено как «Here is a greater-than sign: >,», а не как «Herе is a greater-than sign: >». А если попытаться использовать < внутри элемента >
, процессор XSLT посчитает, что вы пытаетесь открыть элемент внутри элемента >
, что неверно. Как же вывести значащие символы, такие как < и >, если есть необходимость? Это можно сделать путем отключения вывода ESC-последовательностей (disabling output escaping).