Элемент xsl:apply-templates

Элемент <xsl:apply-templates> применяет некий шаблон к текущему элементу или к дочернему узлу текущего элемента.

Если в элемент <xsl:apply-templates> добавить атрибут select, то он будет относиться только к дочернему элементу, который соответствует значению этого атрибута. Таким образом, атрибут select может использоваться для определения порядка, в котором будут обрабатываться дочерние узлы.

Пример


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
   <html>
   <body>
   <h2>My CD Collection</h2>
   <xsl:apply-templates/>
   </body>
   </html>
</xsl:template>

<xsl:template match="cd">
   <p>
   <xsl:apply-templates select="title"/>
   <xsl:apply-templates select="artist"/>
   </p>
</xsl:template>

<xsl:template match="title">
   Title: <span style="color:#ff0000">
   <xsl:value-of select="."/></span>
   <br />
</xsl:template>

<xsl:template match="artist">
   Artist: <span style="color:#00ff00">
   <xsl:value-of select="."/></span>
   <br />
</xsl:template>

</xsl:stylesheet>