Subject: RE: Key lookup without context.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 19 Dec 2008 13:36:41 -0000
|
Define a global variable
<xsl:variable name="root" select="/"/>
and use $root as the third argument of key().
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: peter verhaar [mailto:peter.verhaar1@xxxxxxxxx]
> Sent: 19 December 2008 13:21
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Key lookup without context.
>
> Hello,
>
> I have a 'context-free' function which does a key() lookup.
> However, saxon is complaining:
>
> SXWN9009: Cannot select a node here: the context item is undefined
>
> Question: How can I say: "Start a key lookup from the root of
> the file"?
>
> I tried select="\\key('myKey'...." but this didn't work.
>
> So I have:
>
> <xsl:key name="myKey" match="books/book/...." use="..."/>
>
> <xsl:function name="...." as="xs:double"> <xsl:param name="input"/>
> <xsl:for-each select="key('myKey',$input)">
> processing goes here
> </xsl:for-each>
> </xsl:function>
|