Guess it's time to get that .NET Saxon so I've got XSLT 2.0. :-) Thanks.
-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: Saturday, February 25, 2006 7:12 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Complex Sorting Help
In XSLT 2.0 you can create a user-defined function and call it to compute
your sort key.
In 1.0 the simplest solution is probably a two-pass one: in the first
pass,
compute the sort keys and add them as an extra attribute to the Property
elements; in the second pass, sort on that attribute.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Crist, Trevor [mailto:tcrist(_at_)inntopia(_dot_)com]
Sent: 26 February 2006 00:02
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Complex Sorting Help
In the following example, I am trying to return the Property
with the cheapest TOTAL rate first.
What I WANT to do is something like, this, but of course it
doesn't work...
Any ideas how to get the desired results?
XML:
<Properties>
<Property Name="My Hotel">
<Room Name="King Room">
<Day Date="04/15/2006" Quantity="2"
Price="180.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="180.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="100.00"/>
</Room>
<Room Name="Suite">
<Day Date="04/15/2006" Quantity="2"
Price="280.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="280.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="240.00"/>
</Room>
</Property>
<Property Name="Other Hotel">
<Room Name="Queen Room">
<Day Date="04/15/2006" Quantity="2"
Price="150.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="165.00"/>
<Day Date="04/15/2006" Quantity="2"
Price="165.00"/>
</Room>
</Property>
</Properties>
XSL:
<xsl:for-each select="Property">
<xsl:sort order="ascending" data-type="number"
select="Room/sum(Day/@Price)"/>
<br/><br/>
<xsl:value-of select="@Name"/> <br/>
<xsl:for-each select="Room">
  <xsl:value-of select="@Name"/> :
<xsl:value-of select="sum(Day/@Price)"/>
</xsl:for-each>
</xsl:for-each>
DESIRED RESULTS:
My Hotel
King Room: 460.00
Suite: 800.00
Your Hotel
Queen Room: 480.00
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--