XSLT <xsl:key> Element

Definition und Verwendung

<xsl:key> ist ein oberster Element, der eine benannte Schluessel (d.h. Name und Wert-Paare für die im XML-Dokument angegebenen Elemente) deklariert.

Dieser Schlüssel wird durch die key()-Funktion im Stil verwendet, um Ihnen zu helfen, effektiv auf zugewiesene 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. Bestimmen Sie den Namen des Schlüssels.
match pattern Erforderlich. Definieren Sie, auf welchen Knoten dieser Schlüssel angewendet wird.
use expression

Erforderlich. Geben Sie den Ausdruck an, der als Wert dieses Schlüssels verwendet werden soll.

Der Schlüsselwert kann einer der folgenden Werte sein: Attribut, Kindelement oder Inhalt des abgestimmten 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 der 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>