Élément <xsl:key> de XSLT
Définition et utilisation
<xsl:key> est un élément de niveau supérieur, il peut déclarer une clé nommée (c'est-à-dire assigner des paires de noms et de valeurs aux éléments spécifiés dans le document XML).
Cette clé est utilisée par la fonction key() dans le tableau de styles pour vous aider à 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 sous-jacent ou contenu de l'élément correspondant. |
Exemple
Exemple 1
Supposons que vous ayez 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 le person avec l'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>