XSLT <xsl:key> Element
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="UTF-8"?>
<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>
Complete XSLT Element Reference