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>