XSLT <xsl:key> element

Definition og brug

<xsl:key> elementet er en toppelningsstruktur, der kan deklarere en navngivet nøgle (dvs. navn og værdipar tildeles til specifikke elementer i XML-dokumentet).

Denne nøgle bruges gennem key() funktion i skabelonen, og hjælper dig med at effektivt tilgå tildelede elementer i komplekse XML-dokumenter.

Bemærkning:Nøglen behøver ikke at være unik!

Syntaks

<xsl:key
name="navn"
match="pattern"
use="udtryk"/>

Egenskab

Egenskab Værdi Beskrivelse
name name Obligatorisk. Angiv navnet på nøglen.
match pattern Obligatorisk. Definer, hvilken node denne nøgle anvendes på.
use udtryk

Obligatorisk. Angiv udtrykket, der skal bruges som værdi for denne nøgle.

Nøglen kan være en af følgende værdier: egenskab, underelement eller indholdet af det matchende element.

Eksempel

Eksempel 1

Antag, at du har en XML-fil ved navn "persons.xml":

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

Du kan definere en nøgle i XSL-filen, som f.eks.:

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

For at finde person med id="050676", brug disse koder (i XSL-filen):

<?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 />
    Navn: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>