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>