This ia a FAQ -- see the XSLT FAQ.
Use:
<xsl:sort select="@*[name() = $sort]"/>
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
"Richard Lewis" <richard(_dot_)lewis(_at_)uea(_dot_)ac(_dot_)uk> wrote in
message
news:200312062032(_dot_)59611(_dot_)richard(_dot_)lewis(_at_)uea(_dot_)ac(_dot_)uk(_dot_)(_dot_)(_dot_)
How can I perform an <xsl:sort> sort on an attribute whose name is given
by a
parameter value?
<xsl:param name="sort" />
...
<xsl:sort select="???" />
I've tried select="$sort" which does nothing and select="{$sort} and
select="@{$sort} which both cause errors (along the lines of invalid
syntax).
The parameter value passed is the name of the attribute I want to sort on
with
an at symbol already prefixed, e.g. "@name". (Though the at symbol could
be
left off it helps to solve the problem.)
Cheers,
Richard
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list