RE: [xsl] Sort order - dynamic select

Subject: RE: [xsl] Sort order - dynamic select
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 14 Mar 2005 18:49:44 -0000
The usual three solutions are:

(a) if the search terms are always simple element names, use
    select="*[name()=$searchparam]"

(b) use an extension function for dynamic XPath evaluation, e.g.
    select="saxon:evaluate($searchparam)"

(c) modify the stylesheet before compiling and executing it: it's an XML
document, so this can be done using XSLT if you want.

I think the second solution is the best one technically, except that it
impacts the portability of your stylesheet. However, a dyn:evaluate() is
specified in EXSLT (www.exslt.org) and is available on several processors.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Jason Tripanier [mailto:jtrepanier@xxxxxxxxxxx]
> Sent: 14 March 2005 14:21
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Sort order - dynamic select
>
>
>
> Is it possible to use a parameter as the select element in a sort tag?
>
> <xsl:sort order="{$sorder}" select="$searchTerm"/>
>
> Im trying to get the order based on the $searchTerm
>
> ie.
>
> so if $searchTerm = books/authors then in the xsl it would
> sort by books/authors.
>
> <xsl:sort order="{$sorder}" select="$searchTerm"/>
>
>
> is this possible?
> I cant get it working, is there another way to do this?
>
> thanks!

Current Thread