The variable $totale has the same value for every item in your list, so
sorting by $totale will have no effect. You need to compute the sort key for
each individual item in the list. This can be a bit tricky in XSLT 1.0
because the computation must be done within a single XPath expression. There
are various tricks for getting around the limitations this imposes. But I'm
not going to suggest code in your case because I can't see the source
document structure and your existing computation looks rather strange.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Giancarlo Rossi [mailto:giancarlo_rossi(_at_)tiscali(_dot_)it]
Sent: 03 September 2003 20:26
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Sorting By a calculated variable
I need to implement a sorting by a calculating variable..
I need to sort By $totale and display the $totale value.
In this way the values are not displayed...
Exist a way able to apply this kind of sort ?
<xsl:template match="/">
<xsl:call-template name="positionfilter"> <xsl:with-param
name="sortedlist"> <xsl:for-each
select="/CommandList/CheckRouting/RouterList/Router/GroupList/
Group/OutwardL
ist/Outward" > <xsl:variable name="root"
select="../../ReturnList/Return" />
<xsl:variable name="totale">
<xsl:choose>
<xsl:when test="Price/Amount">
<xsl:value-of
select="format-number(number(Price/Amount)+number($root/Price/
Amount),'#.##'
)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="//Group/Price/Amount/text()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="positionfilter">
<xsl:param name="sortedlist"/>
<xsl:param name="totale"/>
<xsl:for-each select="msxsl:node-set($sortedlist)/*">
<xsl:sort select="$totale"/>
<xsl:value-of select="$totale"></xsl:value-of><br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
--~------------------------------------------------------------------
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(_at_)lists(_dot_)mulberrytech(_dot_)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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--