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>