Element XSLT <xsl:key>
Definicja i użycie
<xsl:key> element jest elementem najwyższego poziomu, który może deklarować nazwanego klucza (tj. para nazwa-wartość przypisana do określonych elementów dokumentu XML).
Ten klucz jest używany za pomocą funkcji key() w szablonie, aby pomóc efektywnie uzyskać dostęp do przypisanych elementów w złożonych dokumentach XML.
Komentarz:Klucz nie musi być unikalny!
Gramatyka
<xsl:key name="name" match="pattern" use="expression"/>
Atrybut
Atrybut | Wartość | Opis |
---|---|---|
name | name | Wymagane. Określ nazwę klucza. |
match | pattern | Wymagane. Zdefiniuj, na哪个节点应用此键。 |
use | expression |
Wymagane. Określ wyrażenie, które ma być użyte jako wartość klucza. Klucz może przyjąć jedną z następujących wartości: atrybut, podelement lub zawartość elementu. |
Przykład
Przykład 1
Załóżmy, że masz plik XML o nazwie "persons.xml":
<persons> <person name="Tarzan" id="050676"/> <person name="Donald" id="070754"/> <person name="Dolly" id="231256"/> </persons>
Możesz zdefiniować klucz w pliku XSL, tak jak tutaj:
<xsl:key name="preg" match="person" use="@id"/>
Aby znaleźć osobę o id="050676", użyj tych kodów (w pliku XSL):
<?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>