Ejemplo de <xsl:key>
Este ejemplo define una clave llamada "title-search" que localiza elementos de libro que tienen un atributo author igual a "David Perry".
Archivo XML (titles.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="key_sample.xsl" ?>
<titles>
<book title="XML Today" author="David Perry"/>
<book title="XML and Microsoft" author="David Perry"/>
<book title="XML Productivity" author="Jim Kim"/>
</titles>
Archivo XSLT (key_sample.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:key name="title-search" match="book" use="@author"/>
<xsl:template match="/">
<HTML>
<BODY>
<xsl:for-each select="key('title-search', 'David Perry')">
<div>
<xsl:value-of select="@title"/>
</div>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
Resultados
Este es el resultado con formato:
XML Hoy
XML y Microsoft
Este es el resultado del procesador:
<HTML>
<BODY>
<div>XML Today</div>
<div>XML and Microsoft</div>
</BODY>
</HTML>