É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>