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