|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsl sort: using element attribute as sort key!
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[@column=$sort]".
And it should be order="{$dir}".
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Adam J Knight [mailto:adam@xxxxxxxxxxxxxxxxx]
> Sent: 18 April 2005 01:29
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: 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
>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








