XSLT <xsl:key> element

Definition och användning

<xsl:key> elementet är en toppnivå element, det kan deklarera en namngiven nyckel (det vill säga, namn och värde par tilldelade till specifika element i XML-dokumentet).

Denna nyckel används genom key()-funktionen i stilen, vilket hjälper dig att effektivt nå tilldelade element i komplexa XML-dokument.

Kommentar:Nyckeln behöver inte vara unik!

Syntax

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

Egenskap

Egenskap Värde Beskrivning
name name Obligatorisk. Specificera namnet på nyckeln.
match pattern Obligatorisk. Definiera vilken nod som denna nyckel tillämpas på.
use expression

Obligatorisk. Specificera uttrycket som används som värde för denna nyckel.

Nyckelvärde kan vara något av följande: egenskap, underkomponent eller innehållet i matchande element.

Exempel

Exempel 1

Anta att du har en XML-fil med namnet "persons.xml":

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

Du kan definiera en nyckel i XSL-filen, så här:

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

För att hitta person med id="050676", använd följande kod (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 />
    Namn: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>