Élément <xsl:key> de XSLT
Définition et utilisation
<xsl:key> est un élément de niveau supérieur, qui peut déclarer une clé nommée (c'est-à-dire une paire de nom et de valeur attribuée aux éléments spécifiés dans le document XML).
Cette clé est utilisée par la fonction key() dans le schéma de style, et aide à accéder efficacement aux éléments attribués dans un document XML complexe.
Remarque :La clé n'a pas besoin d'être unique !
Syntaxe
<xsl:key name="name" match="pattern" use="expression"/>
Attribut
Attribut | Valeur | Description |
---|---|---|
name | name | Obligatoire. Définissez le nom de la clé. |
match | pattern | Obligatoire. Définissez sur quel noeud cette clé est appliquée. |
use | expression |
Obligatoire. Spécifiez l'expression à utiliser comme valeur de cette clé. La valeur de la clé peut être l'une des valeurs suivantes : attribut, élément fils ou contenu de l'élément correspondant. |
Exemple
Exemple 1
Supposons que vous possédiez un fichier XML nommé "persons.xml":
<persons> <person name="Tarzan" id="050676"/> <person name="Donald" id="070754"/> <person name="Dolly" id="231256"/> </persons>
Vous pouvez définir une clé dans le fichier XSL, comme ceci :
<xsl:key name="preg" match="person" use="@id"/>
Pour trouver la personne avec id="050676", utilisez ce code (dans le fichier XSL):
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <xsl:key name="preg" match="person" use="@id"/> <xsl:template match="/"> <html> <body> <xsl:for-each select="key('preg','050676')"> <p> Id : <xsl:value-of select="@id"/><br /> Nom : <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>