The value of (df_data/@column = $sort) is a boolean, true or false. So your
sorted sequence will contain all the values for which the content of the
@column attribute is not equal to the value of the variable $sort, followed
by those for which it is equal.
I don't like these XML documents in which the elements are called "row" and
"column". My instinct would be to first transform it to a document that uses
application-oriented tags, for example
<person>
<name>Value</name>
<phone>Value2</phone>
</person>
and then use that as the input to your "real" transformation.
But if you need to, the answer to your question is
sort="df_data[(_at_)column=$sort]".
And it should be order="{$dir}".
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Adam J Knight [mailto:adam(_at_)brightidea(_dot_)com(_dot_)au]
Sent: 18 April 2005 01:29
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xsl sort: using element attribute as sort key!
Hi all,
I am trying to sort based on an elements attribute. Doesn't
seem to work.
Can i do this, and if so, what am i doing wrong?
Replies greatly appreciated!
$sort parameter = 'name'
$dir parameter = 'descending'
xml structure:
<dfile>
<df_data_row>
<df_data column='name'>Value</df_data>
</df_data_row>
<df_data_row>
<df_data column='phone'>Value2</df_data>
</df_data_row>
</dfile>
<xsl:if test="$sort">
<xsl:apply-templates select="dfile/df_data_row">
<xsl:sort select="df_data/@column = $sort"
order="$dir"></xsl:sort>
</xsl:apply-templates>
</xsl:if>
Cheers,
Adam
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--