ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xsl-list
xsl-list
RE: [xsl] xsl sort: using element attribute as sort key!
by Michael Kay other posts by this author
Apr 18 2005 1:42AM messages near this date
RE: [xsl] grouping, sorting, splitting | Re: [xsl] xsl sort: using element attribute as sort key!
& XSLT 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@[...].au] 
>  Sent: 18 April 2005 01:29
>  To: xsl-list@[...].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@[...].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@[...].com> 
--~--

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved