Subject: RE: Sort by calculated value
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 29 Aug 2006 14:55:04 +0100
|
Your second sort key count(//Outward[Id=Id]/SegmentList/Segment) has the
same value for all the nodes in the node-set being sorted: there are two
things obviously wrong with it, the initial "//" which selects from the
root, and the predicate [Id=Id] which will always be true. Perhaps you
intended
count(//Outward[Id=current()/Id]/SegmentList/Segment)
but I can't tell without seeing the source.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Giancarlo Rossi [mailto:giancarlo_rossi@xxxxxxxxxx]
> Sent: 29 August 2006 14:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Sort by calculated value
>
>
> I'm trying to sort using a calculated value Process MSXML Xsl 1.0
>
>
> For. E.g
>
> <xsl:for-each
> select="/CommandList/CheckRouting/RouterList/Router/GroupList/
> Group/OutwardL
> ist/Outward" > <xsl:sort select="Price/Amount" data-type="number"
> order="ascending" /> <xsl:sort
> select="count(//Outward[Id=Id]/SegmentList/Segment)"
> data-type="number"
> order="ascending" />
>
> 'my code
> </xsl:for-each>
>
> But the second sort is not respected.
>
> Infact the "segment" could be 1 or 2..
>
> Id is the Id of the outward
>
> http://www.lastminutesud.it/test/last_mad_lgw.xml
>
> I hope you could help me.
|