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>