<Полный XSLT элемент Ссылка
Определение и использование
<xsl:apply-templates> элемент применяет шаблон к текущему элементу или дочерних узлов текущего элемента.
Если мы добавим выберите атрибут к <xsl:apply-templates> элемент будет обрабатывать только дочерний элемент , который соответствует значению атрибута. Мы можем использовать select атрибут , чтобы указать , в каком порядке дочерних узлов должны быть обработаны.
Синтаксис
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
Атрибуты
Атрибут | Стоимость | Описание |
---|---|---|
select | expression | Необязательный. Задает узлы, подлежащих обработке. Звездочка выбирает весь набор узлов. Если этот атрибут опущен, то будут выбраны все дочерние узлы текущего узла |
mode | name | Необязательный. Если существует несколько способов обработки, определенной для того же элемента, различает среди них |
Пример 1
Оберните один элемент 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="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 вокруг всех дочерних узлов сообщения , которые имеют mode атрибут установлен в "big" :
<?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 элемент Ссылка