Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лабы / Lab4-03.doc
Скачиваний:
12
Добавлен:
12.05.2015
Размер:
596.99 Кб
Скачать

3.3.4.3. Элементxsl:attribute-set

Для того чтобы упростить создание в элементах целых наборов атрибутов, можно заранее определить их в элементе xsl:attribute-set, который имеет следующий синтаксис:

<xsl:attribute-set

name="имя"

use-attribute-sets="имена"

>

<!--

Содержимое: элементы xsl:attribute

-->

</xsl:attribute-set>

Обязательный атрибут nameзадает имя набора атрибутов. В атрибутеuse-attribute-setsчерез про­бел перечисляются имена наборов атрибутов, которые должны быть исполь­зованы в данном элементе.

Элемент xsl:attribute-setсо­держит последовательность, состоящую из нуля или более элементовxsl:attribute.

Именованные наборы атрибутов можно использовать, указывая их имена в значении атрибута use-attribute-sets, который может присутствовать в элементахxsl:element,xsl:copyиxsl:attribute-set, а также в литеральных результирующих элементах.

Включение набора атрибутов в элемент равносильно простому копированию элементов xsl:attribute, определенных в соответствующих элементахxsl:attribute-set.

3.3.5. Создание текстовых узлов вXslt

Символьные данные, содержащиеся в документе, организуются в виде тек­стовых узлов. Последовательности символов, встречающиеся в документах, в целях экономии никогда не разбиваются на два или более текстовых узла, а текстовые узлы никогда не бывают пустыми. Содержание секций CDATAобрабатываются так, как если бы их содержимое было просто включено в документ с заменой символов "<" и "&", на сущности&lt;и&amp;.

Текст, содержащийся в значениях атрибутов, а также в комментариях и ин­струкциях по обработке не оформляется в виде текстовых узлов – эти дан­ные в XSLTпринадлежат соответствующим узлам атрибутов, комментариев и инст­рукций.

Шаблон преобразования может содержать текстовые узлы, которые при выполнении шаблона после обработки пробельных символов будут попросту скопированы в результирующее дерево.

Текстовые узлы могут также быть созданы элементами xsl:textиxsl:value-of.

3.3.5.1. Элементxsl:text

Элемент xsl:textиспользуется для создания текстовых уз­лов, содержащих пробельные и специальные символы, и имеет следующий синтаксис:

<xsl:text>

<!--

Содержимое: символьные данные (#PCDATA)

-->

</xsl:text>

При использовании xsl:textпреобразования будут сохранять пробельные символы, находящиеся в элементеxsl:text, т.е., для того чтобы вывести в выходящий доку­мент пробельный символ, например такой, как символ перевода строки, достаточно написать

<xsl:text> </xsl:text>.

Символьные данные, включенные в элемент xsl:text, ведут себя так же, как и литеральные данные, заданные внеxsl:text, за исключением возможности задания вxsl:textуправляющих символов типа перехода на новую строку.

3.3.5.2. Элементxsl:value-of

Элемент xsl:value-ofвыводит в выходящее дерево строковый результат вычисления выражений и имеет следующий синтаксис:.

<xsl:value-of

select="выражение"

separator="строка"

>

<!--

Содержимое: конструктор последовательности

-->

</xsl:value-of>

Необязательный атрибут selectзадает строковое значение нового текстового узла (альтернативным является задание значения нового текстового узла в конструкторе последовательности элементаxsl:value-of).

Необязательный атрибут separatorзадает символы-разделители между элементами сгенерированной последовательности при их преобразовании в результирующее строковое значение текстового узла. По умолчанию таким разделителем является одиночный пробел. Если в качестве разделителя задана пустая строка, разделителей между элементами не будет.

Соседние файлы в папке Лабы