Elemento <xsl:key> di XSLT

Definizione e uso

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

Questa chiave viene utilizzata tramite la funzione key() nel foglio di stile, aiutandoti a 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. Stabilisci il nome della chiave.
match pattern Obbligatorio. Definisci a quale nodo viene applicata questa chiave.
use expression

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

Il valore della chiave può essere uno di questi: attributo, sottoelemento o contenuto dell'elemento corrispondente.

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>