Книга: Технология XSLT
Элемент xsl:template
Элемент xsl:template
Синтаксис этого элемента приведен ниже:
<xsl:template
match="пaттерн"
name="имя"
priority="число"
mode="имя">
<!-- Содержимое: несколько элементов xsl:param, тело шаблона -->
</xsl:template>
Элемент верхнего уровня xsl:template
определяет в преобразовании шаблонное правило, или просто шаблон. Элемент xsl:template
имеет всего четыре атрибута, смысл которых мы кратко опишем ниже.
Атрибут match
задает паттерн — образец узлов дерева, для преобразования которых следует применять этот шаблон.
Пример
<xsl:template match="bold">
<b><xsl:value-of select="."/></b>
</xsl:template>
В этом правиле атрибут match
говорит о том, что оно должно использоваться для обработки элементов bold
— в данном случае они будут заменяться на элементы b. Шаблоны, в которых определен атрибут match
, вызываются при помощи инструкции xsl:apply-templates
.
Шаблон также может иметь имя, определяемое атрибутом name
. Шаблон, в котором задано имя, называется именованным шаблоном. Именованные шаблоны могут вызываться вне зависимости от текущего контекста, и даже вести себя как функции — принимать на вход параметры и возвращать некоторые значения.
Пример
<xsl:template name="bold">
<b><xsl:value-of select="."/></b>
</xsl:template>
В отличие от предыдущего примера, это правило не будет обрабатывать какие-либо определенные узлы. Вызвать его можно будет только по имени посредством элемента xsl:call-template
.
При определении шаблона нужно обязательно указать хотя бы один из атрибутов match
или name
, причем эти атрибуты могут присутствовать в xsl:template
одновременно.
Атрибут mode
определяет режим данного шаблонного правила. Режимы позволяют задавать различные преобразования для одних и тех же частей документа (о них мы поговорим позже).
Атрибут priority
используется для определения значения, которое называется приоритетом шаблонного правила. Это значение используется для разрешения конфликтов шаблонов в случае, когда один узел может быть обработан различными правилами.
Атрибуты шаблонного правила не влияют на выполнение его содержимого. Они используются элементами xsl:apply-templates
и xsl:call-template
при выборе шаблонов. Правила, которые были импортированы в преобразование, вызываются элементом xsl:apply-imports
.
- Элемент xsl:element
- Элемент : создание новых элементов на этапе выполнения
- Элемент : применение именованных шаблонов
- Выполнение XSLT-преобразований в Java
- Создание узлов элементов
- Элемент xsl:for-each
- Элемент xsl:copy
- Элементы , и
- Элемент xsl:call-template
- Элемент xsl:apply-templates
- Создание свободно позиционируемых элементов
- 6.4. Рабочий лист Excel и его структурные элементы