XSLT <xsl:apply-templates>
❮ Полный справочник по элементам XSLT
Определение и использование
Элемент <xsl:apply-templates> применяет шаблон к текущему элементу или к дочерним узлам текущего элемента.
Если мы добавим атрибут select к элементу <xsl:apply-templates>, он будет обрабатывать только тот дочерний элемент, который соответствует значению атрибута. Мы можем использовать атрибут select, чтобы указать, в каком порядке должны обрабатываться дочерние узлы.
Синтаксис
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
Атрибуты
Attribute | Value | Description |
---|---|---|
select | expression | Optional. Specifies the nodes to be processed. An asterisk selects the entire node-set. If this attribute is omitted, all child nodes of the current node will be selected |
mode | name | Optional. If there are multiple ways of processing defined for the same element, distinguishes among them |
Пример 1
Оберните один элемент h1 вокруг каждого элемента title в документе:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="title">
<h1><xsl:apply-templates/></h1>
</xsl:template>
</xsl:stylesheet>
Пример 2
Оберните один элемент h1 вокруг всех элементов заголовка, которые являются дочерними элементами сообщения:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="message">
<h1><xsl:apply-templates select="title"/></h1>
</xsl:template>
</xsl:stylesheet>
Пример 3
Оберните один элемент h1 вокруг всех дочерних узлов сообщения, у которых для атрибута режима установлено значение «большой»:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="message">
<h1><xsl:apply-templates select="*" mode="big"/></h1>
</xsl:template>
</xsl:stylesheet>
❮ Полный справочник по элементам XSLT