xsl-list
[Top] [All Lists]

RE: [xsl] Sorting By a calculated variable

2006-09-03 23:59:09
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>