XSLT | страница 79



• >disable-output-escaping. Устанавливается в >yes для того, чтобы такие символы, как < и >, выводились буквально, а не как >< и >>. По умолчанию установлен в >no.

Этот элемент может содержать только текстовый узел.

Текстовые узлы создаются при помощи элемента >, позволяющего по ходу дела замещать элементы целиком на текст. Одна из целей применения > — сохранить символы-разделители, как в следующем примере (листинг 3.4), в котором элемент > используется для вставки пробелов.

Листинг 3.4. Вставка пробелов в таблицу стилей

> 

>

> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

>  

>   

>    </code></p><p><code>>     The Planets Table</code></p><p><code>>    

>   

>   

>    

>     The Planets Table

>    

>    

>    

>     

>     

>     

>     

>    

NameMassRadiusDay

>   

>  


>  

>  

>   

>   

>  


>  

>  

>  


>  

>  

>  


>  

> 

>  

>

Новый результат виден на рис. 3.2, на котором между числовыми значениями и их единицами измерения вставлены пробелы.

Рис. 3.2. Вывод значений атрибутов, второй вариант 


Как видите, элемент > весьма удобен. Тем не менее вам следует знать вот что: по умолчанию элементы > заменяют символы, которые могут входить в разметку, на эскейп-последовательности. Например, >Here is а greater-than sign: > будет выведено как «Here is a greater-than sign: >,», а не как «Herе is a greater-than sign: >». А если попытаться использовать < внутри элемента >, процессор XSLT посчитает, что вы пытаетесь открыть элемент внутри элемента >, что неверно. Как же вывести значащие символы, такие как < и >, если есть необходимость? Это можно сделать путем отключения вывода ESC-последовательностей (disabling output escaping).