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>