L'élément <apply-templates> permet d'appliquer les templates d'une feuille de style sur les fils du noeud courant et les noeuds textuels.

<xsl:apply-templates>
   ...
</xsl:apply-templates>
<!-- Elément vide -->
<xsl:apply-templates/>

Cependant cet élément possède deux attributs, en l'occurrence select et mode. S'ils sont utilisés alors seuls les noeuds correspondant à leurs valeurs seront traités.

<xsl:apply-templates select="pattern" mode="mode">
Attributs
Attribut Description
select="pattern" traite les noeuds sélectionnés par le pattern spécifié, au lieu de traiter tous les éléments.
mode="mode" applique les templates avec un mode donné.

Cet élément peut être contenu dans les instructions suivantes :

L'élément <apply-templates> ne peut contenir que deux autres éléments. Il s'agît de <xsl:sort> permettant de trier des données et <xsl:with-param> déclarant un paramètre à passer à un template.

<xsl:apply-templates select="pattern" mode="mode">
      <xsl:sort.../>
      <xsl:with-param...>...</xsl:with-param>
</xsl:apply-templates>
Exemple : [voir]
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" 
                        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" 
                   media-type="text/html; charset=ISO-8859-1"/>
  <xsl:template match="/">
  <html>
      <body>
        <table border="0" width="60%" class="produit">
        <tr>
          <th colspan="3">Logiciel</th>
          <td/>
        </tr>
        <tr>
          <th style="text-align:left">Editeur</th>
          <th>Langue</th>
          <th>OS</th>
        </tr>
        <xsl:apply-templates 
                 select="logitheque/categorie[position()=1]/logiciel"/>
        </table>
      </body>
  </html>
  </xsl:template>
  <xsl:template match="logitheque/categorie[position()=1]/logiciel">
  <tr>
      <td colspan="3" class="c1">
          <a href="{editeur/@lien}" target="_blank" 
                style="font-size:10pt; font-weight:bold">
      <xsl:apply-templates select="nom"/>
          </a>
           - <xsl:apply-templates select="commentaire"/>
      </td>
  </tr>
  <tr>
      <td>
        <a href="{editeur/@lien}" target="_blank">
        <xsl:apply-templates select="editeur"/>
        </a>
      </td>
      <td>
        <xsl:apply-templates select="langue"/>
      </td>
      <td>
        <xsl:apply-templates select="plateforme"/>
      </td>
  </tr>
  </xsl:template>
</xsl:stylesheet>
En savoir plus :
Découvrez cet élément sur le site du W3CDécouvrez cet élément sur le site de Microsoft