[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
|