<xsl:apply-templates>

Définition et utilisation

L'élement <xsl:apply-templates> applique un template à l'élément en cours ou à ses enfants.

Si on ajoute un attribut "select" à l'élément <xsl:apply-templates> il traitera seulement l'élément enfant qui correspond à la valeur de l'attribut. On peut utiliser l'attribut "select" pour spécifier dans quel ordre les noeuds enfants seront traités.

Syntaxe
<xsl:apply-templates select="expression" mode="nom">
 <!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>

Attributs
Attribut Valeur Description
select expression Facultatif. Spécifie le noeud à traiter. Un astérisque sélectionne le noeud entier. Si l'attribut est omis, tous les enfants du noeud courant seront sélectionnés
mode nom Facultatif. S'il y a plusieurs moyens de traiter le même élément, il convient de les distnguer.

Exemples

Encapsule chaque noeud "titre" du XML par un tag HTML h1 :

<xsl:template match="titre">
  <h1><xsl:apply-templates/></h1>
</xsl:template>


Encapsule tous les noeuds "titre" (le groupe entier) du XML qui sont des enfants du noeud message, par un seul tag HTML h1 :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="message">
    <h1><xsl:apply-templates select="titre"/></h1>
  </xsl:template>
</xsl:stylesheet>


Encapsule tous les enfants du noeud message qui ont l'attribut "mode" mis à grand, par un seul tag HTML h1 :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="message">
    <h1><xsl:apply-templates select="*" mode="grand"/></h1>
  </xsl:template>
</xsl:stylesheet>