From http://www.w3schools.com (Copyright Refsnes Data)
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!
<xsl:key name="name" match="pattern" use="expression"/> |
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 |
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> |
From http://www.w3schools.com (Copyright Refsnes Data)