key() Function — References a relation defined with an
<xsl:key> element. Conceptually, the
key() function works similarly to the
id() function, although keys are more flexible than IDs.
The name of the key (defined by an
<xsl:key> element) and an object. If the object is a node-set, then the
key() function applies itself to the string value of each node in the node-set and returns the node-set of the result of all those
key() function invocations. If the object is any other type, it is converted to a string as if by a call to the
A node-set containing the nodes in the same document as the context node whose values for the requested key match the search argument(s). In other words, if our stylesheet has an
<xsl:key> element that defines a key named
postalcodes based on the
<postalcode> child of all
<address> elements in the current document, the function call
key(postalcodes, '34829') returns a node-set containing all the
<address> elements with a
<postalcode> element whose value is
XSLT section 12.2, Keys.
To illustrate the power of the
key() function, we’ll use this document—a truncated version of the glossary we discussed in Chapter 5:
<?xml version="1.0" ?> <glossary> <glentry> <term id="applet">applet</term> <defn topic="Java" language="en"> An application program, written in the Java programming language, that can be retrieved from a web server and executed by a web browser. A reference ...