XSLT <xsl:key> element
Definitie en gebruik
<xsl:key> is een top-element, dat een genaamd sleutel kan declareren (d.w.z. een naamwaardepaar toegewezen aan specifieke elementen in het XML-document).
Deze sleutel wordt gebruikt via de key() functie in het sjabloon, om je te helpen om effectief toegang te krijgen tot toegewezen elementen in complexe XML-documenten.
Opmerking:De sleutel hoeft niet uniek te zijn!
Syntaxis
<xsl:key name="name" match="pattern" use="expression"/>
Eigenschap
Eigenschap | Waarde | Beschrijving |
---|---|---|
name | name | Verplicht. Stel de naam van de sleutel in. |
match | pattern | Verplicht. Definieer op welke knopen deze sleutel wordt toegepast. |
use | expression |
Verplicht. Specificeer de expressie die als waarde van deze sleutel moet worden gebruikt. De waarde van de sleutel kan een van de volgende waarden zijn: eigenschap, sub-element of de inhoud van het gematchte element. |
Voorbeeld
Voorbeeld 1
Aanname: je hebt een XML-bestand genaamd "persons.xml":
<persons> <person name="Tarzan" id="050676"/> <person name="Donald" id="070754"/> <person name="Dolly" id="231256"/> </persons>
Je kunt een sleutel definiëren in de XSL-bestand, zoals hieronder:
<xsl:key name="preg" match="person" use="@id"/>
Om de persoon met id="050676" te vinden, gebruik deze codes (in de XSL-bestand):
<?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 /> Naam: <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>