From http://www.w3schools.com (Copyright Refsnes Data)

XSLT <xsl:key> Element


XSLT Element Reference Complete XSLT Element Reference

Definition and Usage

The <xsl:key> element is a top-level element which declares a named key that can be used in the style sheet with the key() function.

Note: A key does not have to be unique!


Syntax

<xsl:key
name="name"
match="pattern"
use="expression"/>

Attributes

Attribute Value Description
name name Required. Specifies the name of the key
match pattern Required. Defines the nodes to which the key will be applied
use expression Required. The value of the key for each of the nodes

Example 1

Suppose you have an XML file called "persons.xml":

<persons>
  <person name="Tarzan" id="050676"/>
  <person name="Donald" id="070754"/>
  <person name="Dolly" id="231256"/>
</persons>

You can define a key in an XSL file like this:

<xsl:key name="preg" match="person" use="@id"/>

To find the person with id="050676", write (in the XSL file):

<?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>


XSLT Element Reference Complete XSLT Element Reference

From http://www.w3schools.com (Copyright Refsnes Data)