[xslt] using key() function with key name in a variable
- From: Jre scanlaser nl
- To: xslt gnome org
- Subject: [xslt] using key() function with key name in a variable
- Date: Tue, 12 Nov 2002 18:16:12 +0000
I'm using the key() function (via xsltproc) and supplying the key name in
a variable.
This works if the variable contains a string (such as)
<xsl:variable name="k" select="'keyname'"/>
However, if the variable contains an RTF, such as
<xsl:variable name="k">
<xsl:choose>
<xsl:when test="sometest">keyname1</xsl:when>
<xsl:otherwise>keyname2</xsl:otherwise>
</xsl:choose>
</xsl:variable>
then using
key( $k, ... )
gives the error
runtime error: file gbs_log_show_all.xsl line 187 element variable
key() : invalid arg expecting a string
but
key( string($k), ... )
works ok.
I've tried the same thing in saxon, mozilla and msxml and they all seem to
work when $k contains the RTF (without needing the string() function).
Looking at the xslt rec, it doesn't seem to say much about the first
parameter to key() other than that it's a string and a QName.
Didn't find anything in the archives and I don't remember seeing anything
like this on xslt-list, so I don't know whether to report this as a bug or
not, but it seems to act differently to several other xslt processors.
I'm using
xsltproc -V
Using libxml 20421, libxslt 10017 and libexslt 708
xsltproc was compiled against libxml 20421, libxslt 10017 and libexslt 708
libxslt 10017 was compiled against libxml 20421
libexslt 708 was compiled against libxml 20421
regards, John Escott.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]