Re: [xsl] Getting ordering info from a lookup table

Subject: Re: [xsl] Getting ordering info from a lookup table
From: Nic James Ferrier <nferrier@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 30 Oct 2006 23:53:14 +0000
"Trevor Nicholls" <trevor@xxxxxxxxxxxxxxxxxx> writes:

> 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?

How about:

   select="document('lookup.xml')/files/doc[. = $myself]"/preceding-sibling::."

and of course:

   select="document('lookup.xml')/files/doc[. = $myself]"/following-sibling::."


-- 
Nic Ferrier
http://www.tapsellferrier.co.uk   for all your tapsell ferrier needs

Current Thread