Re: [xsl] Changing sort order via a parameter

Subject: Re: [xsl] Changing sort order via a parameter
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 04 Jun 2003 19:44:43 -0400
At 2003-06-04 16:05 -0700, Danny Vint wrote:
I have a situation where I need to change from a text ordering to number order depending upon a parameter.

Section 10 of XSLT states that all the attributes on xsl:sort can be attribute value templates, so assign a variable in advance of the for-each and then use the attribute value template:


                <xsl:variable name="use-data-type">
                        <xsl:choose>
                                <xsl:when test="$A='Life'">number</xsl:when>
                                <xsl:when test="$A='P_C'">text</xsl:when>
                        </xsl:choose>
                </xsl:variable>
               <xsl:for-each ...
                  <xsl:sort select="zzz" data-type="{$use-data-type}"/>
                  ...

I hope this helps.

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

--
Upcoming hands-on courses: (registration still open!)
-      (XSLT/XPath and/or XSL-FO) North America: June 16-20, 2003

G. Ken Holman                mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/s/
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/s/bc


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread