Element XSLT <xsl:key>
Definicja i użycie
<xsl:key> jest elementem głównym, który może deklarować nazwanego klucza (jest to para nazwa-wartość przypisana do określonych elementów w dokumencie XML).
Ten klucz jest używany za pomocą funkcji key() w stylu, 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 który węzeł ma być zastosowany ten klucz. |
use | expression |
Wymagane. Określ wyrażenie, które ma być użyte jako wartość tego klucza. Klucz może być dowolną z poniższych 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>