L'élément <xsl:variable> permet de déclarer une variable dans une feuille de style.
<xsl:variable name="nom"> Valeur... </xsl:variable>
La valeur du paramètre se trouve au sein des marqueurs.
Si l'attribut select est utilisé, alors <xsl:variable> doit être un élément vide et le contenu de l'attribut sera la valeur du paramètre.
Les attributs :<xsl:variable name="nom" select="expression"/>
Attribut | Description |
---|---|
name="nom" | affecte un nom au paramètre. |
select="pattern" | sélectionne un type de noeuds dans l'arborescence du document XML. |
Dans le cas où la variable est déclarée dans l'élément <xsl:stylesheet>, alors elle serait valable dans l'ensemble de la feuille.
Déclarée dans une règle de modèle <xsl:template>, la variable a une portée locale.
Une variable est appelée par l'intermédiaire de son nom qui doit être précédé du signe dollar ($).
Deux éléments <xsl:variable> ne peuvent se faire mutuellement référence.
Cet élément peut être contenu dans les instructions suivantes :
Cet élément peut contenir les instructions suivantes :
<?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="/"> <xsl:variable name="num" select="1"/> <html> <head> <title>La logithèque</title> </head> <body> <h2> Le premier logiciel de chaque catégorie </h2> <table border="0" width="60%" class="produit"> <tr> <th colspan="3">Logiciel</th> </tr> <tr> <th style="text-align:left">Editeur</th> <th>Langue</th> <th>OS</th> </tr> <xsl:apply-templates select="logitheque/categorie/logiciel[$num]"> <xsl:sort select="nom"/> </xsl:apply-templates> </table> </body> </html> </xsl:template> <xsl:template match="logitheque/categorie/logiciel"> <tr> <th colspan="3"> <xsl:value-of select="../@nom"/> </th> </tr> <tr> <td colspan="3" class="c1"> <a href="{editeur/@lien}" target="_blank" style="font-size:10pt; font-weight:bold" title="{prix} {prix/@monnaie}"> <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> |