| <xsl:apply-templates> | |
| Donne pour consigne au processeur XSLT d'appliquer les modèles appropriés à un ensemble de nœuds. | |
| Catégorie | |
|
Instruction |
|
| Attributs obligatoires | |
|
Aucun. |
|
| Attributs facultatifs | |
|
|
| Contenu | |
|
L'élément <xsl:apply-templates> peut contenir un nombre quelconque d'éléments <xsl:sort> et <xsl:with-param>. Dans la plupart des cas, <xsl:apply-templates> est vide. |
|
| Apparaît dans | |
|
<xsl:apply-templates> apparaît dans un modèle. |
|
| Défini dans | |
|
XSLT section 5.4, Application de règles de modèle. |
|
| Exemple | |
|
Dans ce cas précis (voir chapitre 9), il fallait créer plusieurs sorties différentes à partir des mêmes données. L'attribut mode de l'élément <xsl:apply-templates> a permis de répondre à ce besoin. Voici le modèle principal (match="/") :
<xsl:template match="/">
<xsl:apply-templates select="tutorial" mode="build-main-index"/>
<redirect:write select="concat($curDir, $fileSep, 'index.html')">
<xsl:apply-templates select="tutorial" mode="build-main-index"/>
</redirect:write>
<xsl:apply-templates select="tutorial" mode="build-section-indexes"/>
<xsl:apply-templates select="tutorial" mode="build-individual-panels"/>
<xsl:apply-templates select="tutorial" mode="generate-graphics"/>
<xsl:apply-templates select="tutorial" mode="generate-pdf-file">
<xsl:with-param name="page-size" select="'ltr'"/>
</xsl:apply-templates>
<xsl:apply-templates select="tutorial" mode="generate-pdf-file">
<xsl:with-param name="page-size" select="'a4'"/>
</xsl:apply-templates>
<xsl:apply-templates select="tutorial" mode="generate-zip-file"/>
</xsl:template>
Cet exemple sélectionne l'élément <tutorial> huit fois, mais applique chaque fois les modèles avec un mode différent (ou des paramètres différents pour le même mode). |
|