Name

<xsl:key>

Defines an index against the current document. The element is defined with three attributes: a name, which names this index; a match, an XPath expression that describes the nodes to be indexed; and a use attribute, an XPath expression that defines the property used to create the index. Much like database indexes can improve the performance of a database application, keys can improve the performance of a stylesheet.

Category

Top-level element.

Required Attributes

name

Defines a name for this key.

match

Represents an XPath expression that defines the nodes to be indexed by this key.

use

Represents an XPath expression that defines the property of the indexed nodes that will be used to retrieve nodes from the index.

[2.0] In XSLT 2.0, this attribute is optional. The <xsl:key> element can contain a sequence constructor that creates or selects the nodes to be indexed.

Optional Attributes

[1.0] None

In XSLT 1.0, <xsl:key> doesn’t have any optional attributes.

[2.0] collation

The collation attribute defines the collation sequence used to determine whether two key values are equal.

Content

[1.0] None

In XSLT 1.0, the <xsl:key> element is empty.

[2.0] A sequence constructor

In XSLT 2.0, the <xsl:key> element can contain any sequence constructor. It is an error if a <xsl:key> element has both content and a use attribute.

Appears in

<xsl:key> is a top-level element and can only appear as a child of <xsl:stylesheet>.

Defined in

[1.0] XSLT section 12.2, “Keys.”

[2.0] XSLT section 16.3, “Keys.”

Example

For ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.