Subject: Re: [xsl] Getting ordering info from a lookup table|
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Mon, 30 Oct 2006 15:45:49 -0800
Previous : <xsl:value-of select="document('temp.xml')/file/doc[following-sibling::doc = $myself]"/>
Next : <xsl:value-of select="document('temp.xml')/file/doc[preceding-sibling::doc = $myself]"/>
My transform is using an external XML file as a lookup table. Among other things, the external file contains a list: ... <files> <doc>file_one</doc> <doc>file_two></doc> <doc>file_three</doc> ... </files>
Each time the transform runs, the input XML file corresponds to one of the <doc> elements in the lookup file. The input file name is passed in as a parameter to the transformation.
<xsl:param name="myself" />
I think the following construction can do the lookup to the external file and locate the current doc:
.. select="document('lookup.xml')/files/doc[. = $myself]"
but of course this is pointless by itself as I already have the doc name. What I actually want is to obtain the names of the previous and next docs - if they exist. There's surely an elegant way to do this, but I don't know it. What can I do?