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>