работы показаны на рис. 3.1, Как видите, теперь мы извлекли строковое значение атрибута UNITS и отобразили его.
Рис. 3.1. Вывод значений атрибутов, первый вариант
Рисунок 3.1 не совсем точен: обратите внимание на то, что между значением и соответствующей единицей измерения в таблице нет пробела. Процессор XSLT просто поместил в результирующее дерево текст без каких-либо разделителей между текстовыми узлами. Хотя это в точности соответствует требованиям рекомендации XSLT, нам бы хотелось, чтобы элементы таблицы выглядели как «1516 miles», а не «1516miles». Как нам добавить этот дополнительный пробел?
Элемент <xsl:text>
Работа с пробелами всегда обсуждается при рассмотрении XSLT, и в данной главе я уделю этой теме некоторое время. Вставить единственный пробел несложно
при помощи элемента
<xsl:text>
, который используется для вставки символьного текста непосредственно в дерево вывода. У этого элемента только один атрибут:
•
disable-output-escaping
. Устанавливается в
yes
для того, чтобы такие символы, как < и >, выводились буквально, а не как
<
и
>
. По умолчанию установлен в
no
.
Этот элемент может содержать только текстовый узел.
Текстовые узлы создаются при помощи элемента
<xsl:text>
, позволяющего по ходу дела замещать элементы целиком на текст. Одна из целей применения
<xsl:text>
— сохранить символы-разделители, как в следующем примере (листинг 3.4), в котором элемент