XSLT <xsl:key>-elementet
Definition och användning
<xsl:key>-elementet är en toppnivåelement, det kan deklarera en namngiven nyckel (det vill säga namn och värdepar tilldelade till specifika element i XML-dokumentet).
Denna nyckel används genom key()-funktionen i stilen, och hjälper dig effektivt att komma åt tilldelade element i komplexa XML-dokument.
Kommentar:Nyckeln behöver inte vara unik!
Syntaks
<xsl:key name="name" match="pattern" use="uttryck"
Egenskap
Egenskap | Värde | Beskrivning |
---|---|---|
name | name | Obligatorisk. Ange namnet på nyckeln. |
match | pattern | Obligatorisk. Definiera vilken nod denna nyckel tillämpas på. |
use | uttryck |
Obligatorisk. Ange uttrycket som ska användas som värde för denna nyckel. Nyckelvärdet 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, som följer:
<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>