OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Strange Sorting Problem

[ Lists Home | Date Index | Thread Index ]

XSLT and XPath questions would be better posted to the following list:

   http://www.mulberrytech.com/xsl/xsl-list

There are a number of subscribers who would enthusiastically respond to 
such questions.

There is also an *excellent* FAQ at:

   http://www.dpawson.co.uk

At 2003-12-03 12:01 +0000, CBeach@bankofny.com wrote:
>i wish to sort dynamically

XPath expressions cannot be resolved dynamically in XSLT 1.0, they must be 
coded in the stylesheet and not obtained from any kind of source.

><staffware viewcompany="-1" viewdepartment="-1" viewwork="-1" search="0"
>company="ABN" sortfield="@caseref">

Above you have encoded an XPath expression.

>       <xsl:template match='/'>
>             <xsl:variable name="sort_field" select="staffware/@sortfield"/>
>...
>                <xsl:with-param name="sorted_field" select="$sort_field"/>
>...
>                   <xsl:sort select='$sorted_field' order='ascending'/>

This will produce the fixed string "@caseref" for every item being sorted, 
thus the result will be in document order.

The following would work:

       sortfield="caseref">

       <xsl:template match='/'>
             <xsl:variable name="sort_field" select="staffware/@sortfield"/>
...
                <xsl:with-param name="sorted_field" select="$sort_field"/>
...
                   <xsl:sort select='@*[name(.)=$sorted_field]'
                             order='ascending'/>

because then you are dealing with the names of XPath nodes, not with XPath 
expressions.

I hope this helps.

................. Ken

--
Next public European delivery:  3-day XSLT/2-day XSL-FO 2004-01-??
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide:  please contact us for the details

G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 0-13-140374-5                               Definitive XSL-FO
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X               Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners:     http://XMLGuild.info
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/x/bc





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS