XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Sjoerd ZonneveldSubject: XSL:SORT using variables
Author: Sjoerd Zonneveld
Date: 17 Dec 2001 08:27 AM
Hi,

I am trying to create a stylesheet with a default sortorder (xsl:sort select='.') but like to dynamically change this into any acceptable Xpath query. Is this possible?

<xsl:for-each select="//mytag">
<xsl:sort select="$a1"/>
<xsl:sort select="$a2"/>
...
...
</xsl:for-each>

I know the xpath queries, I feed it, are correct. Still it doesn't seem to work.

Anybody have any idea?

Sjoerd
============================
Consulting Engineer
eXcelon Corperation
============================

Posttop
Minollo I.Subject: Re: XSL:SORT using variables
Author: Minollo I.
Date: 17 Dec 2001 10:50 AM
I may be wrong, but I don't think there is any way in XSLT 1.0 to do what
you are asking. The xsl:sort select expression is recomputed N times with
the proper context; unfortunately variables are expressions that have
always the same value once that value is computed. So, doing something like
what you are trying will just sort against a constant value.

The only tricky solution that comes to my mind is doing something like this:

{xsl:variable name="sortkey" select="'title'"/}
{xsl:for-each select="books/book"}
{xsl:sort select="./*[name()=$sortkey]"/}
...

I believe that the eXcelon XIS XSLT processor has extended the xsl:sort
command adding an "expr" attribute (the same has been done in a bunch of
other contexts) which basically does a double evaluation on the specified
value, allowing variables as re-computed expressions. This is an XIS
specific extension, and you may want to read the XIS documentation for
further details.

Thanks,
Minollo

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.