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

Définition et utilisation

L'élément <xsl:apply-templates> peut appliquer les modèles aux éléments actuels ou aux éléments enfants de l'élément actuel.

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

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 cette propriété est omise, tous les enfants 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 être utilisé pour les distinguer.

Exemple

Exemple 1

Entourez de l'élément h1 chaque élément title dans le document:

<?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 de l'élément h1 tous les éléments title qui appartiennent à tous les éléments enfants de message:

<?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 de l'élément h1 tous les éléments enfants de message qui ont la propriété mode définie 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>