Élément <xsl:apply-templates> de XSLT

Définition et utilisation

L'élément <xsl:apply-templates> peut appliquer le modèle à l'élément courant ou aux éléments enfants de l'élément courant.

Si nous ajoutons l'attribut select à l'élément <xsl:apply-templates>, il ne traitera que les sous-éléments correspondant à la valeur de cet attribut. Nous pouvons utiliser l'attribut select pour définir l'ordre de traitement des sous-éléments.

Syntaxe

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

Attribut

Attribut Valeur Description
select Expression Optionnel. Définit le nœud à traiter. L'étoile (*) sélectionne l'ensemble des nœuds. Si cet attribut est omis, tous les sous-nœuds du nœud courant sont sélectionnés.
mode Nom Optionnel. Si plusieurs méthodes de traitement sont définies pour le même élément, mode peut les distinguer.

Exemple

Exemple 1

Entourer chaque élément title du document avec l'élément 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="title">
  <h1><xsl:apply-templates/></h1>
</xsl:template>
</xsl:stylesheet>

Exemple 2

Entourez tous les éléments title des sous-éléments de message du document avec l'élément 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="title"/></h1>
</xsl:template>
</xsl:stylesheet>

Exemple 3

Entourez tous les sous-nœuds message du document avec l'élément h1 où l'attribut mode est réglé sur "big" :

<?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="big"/></h1>
</xsl:template>
</xsl:stylesheet>