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