Les accolades {} servent à définir des Attribute Value Templates qui sont utilisés pour exprimer des valeurs d'attributs. Dès que le processeur rencontre un Attribute Value Template, il évalue la requête XPath qu'il contient et remplace le Attribute Value Template par le résultat de cette évaluation.
On peut donc les utiliser partout dans les valeurs d'attributs où est attendu une valeur littérale.
Dans les balises HTML et plus généralement toutes les balises hors de l'espace de nom xsl :
<table bgcolor="{/tableau/@couleur}">
1 2
| <xsl:variable name="url" select="'http://www.monsiteamoiquejai.com'"/>
<a href="{$url}">Lien vers mon site</a> |
<div class="{/site/divs/classes[3]}">
Il n'est également pas rare de les trouver dans des balises xsl, notamment :
- les attributs name et namespace de l'élément <xsl:attribute>
- les attributs name et namespace de l'élément <xsl:element>
- certains attributs de l'élément <xsl:number>, <xsl:sort> et <xsl:processing-instruction">
[EDIT] On ne peut pas les substituer à des requêtes XPath ; c'est pour cela qu'on ne peut pas les utiliser dans les attributs select et match des éléments xsl (ca n'a donc rien à voir avec les variables)
Partager