XSLT <xsl:key> Element

Definition und Verwendung

<xsl:key> ist ein oberster Element, der eine benannte Schüssel (d.h. ein Name-Wert-Paar für in einem XML-Dokument angegebene Elemente) deklariert.

Dieser Schlüssel wird durch die key()-Funktion im Stilblatt verwendet, um Ihnen zu helfen, effektiv auf zugeordnete Elemente in komplexen XML-Dokumenten zuzugreifen.

Anmerkung:Der Schlüssel muss nicht einzigartig sein!

Syntax

<xsl:key
name="name"
match="pattern"
use="expression"/>

Attribut

Attribut Wert Beschreibung
name name Erforderlich. Bestimmt den Namen des Schlüssels.
match pattern Erforderlich. Definiert, auf welchen Knoten dieser Schlüssel angewendet wird.
use expression

Erforderlich. Gibt das Ausdruck an, das als Wert dieses Schlüssels verwendet wird.

Der Schlüsselwert kann einer der folgenden Werte sein: Attribut, Unterlement oder Inhalt des matchenden Elements.

Beispiel

Beispiel 1

Angenommen, Sie haben eine XML-Datei namens "persons.xml":

<persons>
  <person name="Tarzan" id="050676"/>
  <person name="Donald" id="070754"/>
  <person name="Dolly" id="231256"/>
</persons>

Sie können einen Schlüssel in einer XSL-Datei definieren, wie folgt:

<xsl:key name="preg" match="person" use="@id"/>

Um die Person mit id="050676" zu finden, verwenden Sie diesen Code (im XSL-Datei):

<?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 />
    Name: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>