XSLT <xsl:apply-templates>
❮ Référence complète des éléments XSLT
Définition et utilisation
L'élément <xsl:apply-templates> applique un modèle à l'élément courant ou aux nœuds enfants de l'élément courant.
Si nous ajoutons un attribut select à l'élément <xsl:apply-templates>, il ne traitera que l'élément enfant qui correspond à la valeur de l'attribut. Nous pouvons utiliser l'attribut select pour spécifier dans quel ordre les nœuds enfants doivent être traités.
Syntaxe
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
Les attributs
Attribute | Value | Description |
---|---|---|
select | expression | Optional. Specifies the nodes to be processed. An asterisk selects the entire node-set. If this attribute is omitted, all child nodes of the current node will be selected |
mode | name | Optional. If there are multiple ways of processing defined for the same element, distinguishes among them |
Exemple 1
Enveloppez un seul élément h1 autour de chaque élément de titre dans le document :
<?xml version="1.0" encoding="UTF-8"?>
<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
Enveloppez un seul élément h1 autour de tous les éléments de titre qui sont des enfants de message :
<?xml version="1.0" encoding="UTF-8"?>
<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
Enveloppez un seul élément h1 autour de tous les nœuds enfants de message dont l'attribut mode est défini sur "big":
<?xml version="1.0" encoding="UTF-8"?>
<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>
❮ Référence complète des éléments XSLT