RE: [xsl] using a variable in sort block

Subject: RE: [xsl] using a variable in sort block
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 16 Jul 2003 17:06:09 +0100
Didn't we have the same question on the list a week or two ago?

I can't see anything illegal in your stylesheet, there is rule against
using a result tree fragment in a sort key. This sounds like a
non-conformance in your XSLT processor.

On the other hand, what you are trying to do is pointless. If you define
a sortkey with select="$x", then whatever the value of $x, it will be
the same for all the items you are sorting, so there is no point in
sorting them.

You are imagining, of course, that it does select="dyn:evaluate($x)" -
but it doesn't.

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Greg Johnson
> Sent: 15 July 2003 18:52
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] using a variable in sort block
> 
> 
> What are the restrictions on using xsl:variables?
> Am I not allowed to use it in an xsl:sort element?
> I get the following error for the folowing xsl fragment:
> 
> <xsl:variable name="sortby">ARRIVED</xsl:variable>
> <xsl:variable name="sortorder">descending</xsl:variable>
> 
> <xsl:template match="REPORT">
> <h1>
> 	<xsl:value-of select="$sortby"/>
> </h1>
> <xsl:apply-templates select="INTERCHANGE">
> 	<xsl:sort select="{$sortby}" order="{$sortorder}" />  
> <!-- ERROR HERE --> </xsl:apply-templates> </xsl:template>
> 
> ----
> 
> Error in XPath Expression: Cannot use result tree fragment.
> 
> ----
> 
> The <xsl:value-of select="$sortby"/> outputs "ARRIVED" 
> correctly, but dies inside the "sort" element.
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread