Язык преобразований XSL

Именованные шаблоны


<!-- Category: instruction -->
<xsl:call-template
name = qname>
  <!-- Content:

href="#element-with-param">xsl:with-param* -->
</xsl:call-template>

Шаблоны можно вызывать по имени. Именованный шаблон задается элементом xsl:template с атрибутом name. Значением атрибута является имя name , которое приводится к расширенному имени как описано в главе . Если элемент xsl:template имеет атрибут name, то он может, но не обязан, иметь также атрибут match. Элемент xsl:call-template вызывает шаблон по имени, он содержит обязательный атрибут name, идентифицирующий шаблон, который должен быть вызван. В отличие от xsl:apply-templates, xsl:call-template не меняет текущий узел и текущий набор узлов.

Атрибуты match, mode и priority в элементе xsl:template не зависят от того, был ли этот шаблон вызван элементом xsl:call-template. Точно так же атрибут nameв элементе xsl:template не зависит от того, был ли этот шаблон вызван элементом xsl:apply-templates.

Если стиль содержит более одного шаблона с одним и тем же названием, а также одним и тем же , фиксируется ошибка.



Содержание раздела