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>