Elemento <xsl:key> di XSLT

Definizione e uso

<xsl:key> è un elemento superiore, che può dichiarare una chiave denominata (cioè un nome e un valore associato agli elementi specificati nel documento XML).

Questa chiave viene utilizzata nel foglio di stile tramite la funzione key() per aiutarti ad accedere efficacemente agli elementi assegnati in documenti XML complessi.

Nota:La chiave non deve essere unica!

Sintassi

<xsl:key
name="name"
match="pattern"
use="expression"

Attributo

Attributo Valore Descrizione
name name Obbligatorio. Stabilisce il nome della chiave.
match pattern Obbligatorio. Definisce il nodo a cui si applica la chiave.
use expression

Obbligatorio. Specifica l'espressione da utilizzare come valore della chiave.

Il valore della chiave può essere uno qualsiasi dei seguenti: attributo, elemento figlio o contenuto dell'elemento di match.

Esempio

Esempio 1

Supponiamo di avere un file XML chiamato "persons.xml":

<persons>
  <person name="Tarzan" id="050676"/>
  <person name="Donald" id="070754"/>
  <person name="Dolly" id="231256"/>
</persons>

Puoi definire una chiave nel file XSL, come segue:

<xsl:key name="preg" match="person" use="@id"/>

Per trovare il person con id="050676", utilizzare questi codici (nei file 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 />
    Nome: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>