L'élément <xsl:key> permet de créer un identifiant pour des éléments sélectionnés par un pattern et désigné par l'expression de l'attribut use.

<xsl:key 
                 name="nom"
                 match="pattern"
                 use="expression"/>

L'attribut use permet de faire une différenciation entre les éléments sélectionnés par l'attribut match.

La valeur extraite par l'attribut use crée un identifiant à deux niveaux.

key("nom_identifiant", "valeur_use")

La référence à ce type d'identifiant s'effectue par la fonction key.

Les attributs :
Elément Description
name="nom" affecte un nom à l'identifiant créé.
match="pattern" sélectionne un type de noeud dans l'arborescence d'un document XML.
use="expression" désigne une valeur de différenciation.

Cet élément peut être contenu dans les instructions <xsl:stylesheet> et <xsl:transform>.

Cet élément ne peut contenir aucunes instructions.

Exemple : [voir]
<?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="xml" version="1.0" encoding="ISO-8859-1"/>
  <xsl:key name="logiciel" match="logiciel" use="editeur"/>
  <xsl:param name="editeur" select="'Microsoft'"/>
  <xsl:template match="/">
  <xsl:element name="logitheque">
      <xsl:copy-of select="key('logiciel', $editeur)"/>
  </xsl:element>
  </xsl:template>
</xsl:stylesheet>
En savoir plus :
Découvrez cet élément sur le site du W3CDécouvrez cet élément sur le site de Microsoft