[xsl] Creating a keyed index of a set of nodes in a file

Subject: [xsl] Creating a keyed index of a set of nodes in a file
From: Josh Watson <josh@xxxxxxxxxxxxx>
Date: Tue, 05 Jul 2005 15:06:52 +0100
Hi,

I have a problem trying to create a key based on the contents of an
external file in XSLT 2.0. I have this file:

<ReservedDirs>
	<ReservedDirectory id="_kits"    name="/usr/kits"/>
	<ReservedDirectory id="_shlib"   name="/usr/shlib"/>
	<ReservedDirectory id="_options" name="/var/opt"/>
</ReservedDirs>

And I'd like to create a lookup of ReservedDirectory entries based on
id. The stylesheet is for another file, and I'd like to try something like:

<xsl:key name="resdir"
match="document('v4dirs.xml')/ReservedDirs/ReservedDirectory" use="@name"/>

Saxon (8.4) won't let me do this (only key() and id() allowed in
match="..."). Is it possible to do this, or is there a better way?

Any help would be appreciated.

Cheers,
Josh

Current Thread