xsl-list
[Top] [All Lists]

RE: using a variable in sort block

2003-07-16 09:06:09
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(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Greg Johnson
Sent: 15 July 2003 18:52
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>