L'élément <apply-templates> permet d'appliquer les templates d'une feuille de style sur les fils du noeud courant et les noeuds textuels.
<xsl:apply-templates> ... </xsl:apply-templates> <!-- Elément vide --> <xsl:apply-templates/> |
Cependant cet élément possède deux attributs, en l'occurrence select et mode. S'ils sont utilisés alors seuls les noeuds correspondant à leurs valeurs seront traités.
Attributs<xsl:apply-templates select="pattern" mode="mode">
| Attribut | Description |
|---|---|
| select="pattern" | traite les noeuds sélectionnés par le pattern spécifié, au lieu de traiter tous les éléments. |
| mode="mode" | applique les templates avec un mode donné. |
Cet élément peut être contenu dans les instructions suivantes :
L'élément <apply-templates> ne peut contenir que deux autres éléments. Il s'agît de <xsl:sort> permettant de trier des données et <xsl:with-param> déclarant un paramètre à passer à un template.
<xsl:apply-templates select="pattern" mode="mode">
<xsl:sort.../>
<xsl:with-param...>...</xsl:with-param>
</xsl:apply-templates> |
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
media-type="text/html; charset=ISO-8859-1"/>
<xsl:template match="/">
<html>
<body>
<table border="0" width="60%" class="produit">
<tr>
<th colspan="3">Logiciel</th>
<td/>
</tr>
<tr>
<th style="text-align:left">Editeur</th>
<th>Langue</th>
<th>OS</th>
</tr>
<xsl:apply-templates
select="logitheque/categorie[position()=1]/logiciel"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="logitheque/categorie[position()=1]/logiciel">
<tr>
<td colspan="3" class="c1">
<a href="{editeur/@lien}" target="_blank"
style="font-size:10pt; font-weight:bold">
<xsl:apply-templates select="nom"/>
</a>
- <xsl:apply-templates select="commentaire"/>
</td>
</tr>
<tr>
<td>
<a href="{editeur/@lien}" target="_blank">
<xsl:apply-templates select="editeur"/>
</a>
</td>
<td>
<xsl:apply-templates select="langue"/>
</td>
<td>
<xsl:apply-templates select="plateforme"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet> |