Шаблоны. Шаблоны − часть таблицы стилей, предназначенная для трансформации данных

Шаблоны − часть таблицы стилей, предназначенная для трансформации данных. Когда XSL-процессор обнаруживает последовательность в документе, он пропускает ее через шаблон и трансформирует. Количество шаблонов таблицы стилей не ограничено. Если в таблице стилей имеется несколько шаблонов, то каждый выполняет трансформацию определенного фрагмента XML-документа.

Поскольку XSL представляет собой XSL-словарь, таблицы стилей закодированы с помощью XML. Шаблон задается элементом xsl:template, а последовательность, связанная с ним, − атрибутом match элемента xsl:template.

Следующий пример демонстрирует использование шаблона для корневого элемента документа:

<xsl:template match="/">

Этот шаблон будет осуществлять трансформацию всего документа целиком, начиная с корневого элемента. Как правило, вам необходимо будет создавать шаблоны для элементов, находящихся ниже корневого.

Например, шаблон для элемента title XML-документа, приведенного на Рис. 7.1, будет выглядеть так:

<xsl:template match="book/bookPart/chapter/title">

</xsl:template>

Как видим, элемент title задан с перечислением всех его родительских элементов. Обратите внимание на закрывающий тег </xsl:template>, обязательный для всех шаблонов. Чтобы задать преобразование для данных находящихся внутри элемента title, следует поместить тег <xsl:value-of/> внутри шаблона, как показывает следующий код.

<xsl:template match="book/bookPart/chapter/title">

<b>Глава </b><xsl:value-of/>

</xsl:template>

Здесь преобразование заключается в том, что перед данными элемента title будет помещен текст Глава, выделенный полужирным шрифтом. Элемент <xsl:value-of/> представляет содержимое элемента title. Кроме <xsl:value-of/> существует еще несколько элементов, которые часто используются при создании шаблонов и входят в стандартное пространство имен XSL:

xsl:value-of − вставляет содержимое элемента (атрибута) XML;

xsl:if − задает условное соответствие для шаблонов;

xsl:for-each − создает цикл для элементов документа XML;

xsl:apply-templates − применяет шаблон к XML-документу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: