Subject: RE: [xsl] Complex Sorting Help From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 26 Feb 2006 00:11:40 -0000 |
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@xxxxxxxxxxxx] > Sent: 26 February 2006 00:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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 > > > >
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Complex Sorting Help, Crist, Trevor | Thread | RE: [xsl] Complex Sorting Help, Crist, Trevor |
Re: [xsl] Passing arrays into XSL, Joern Nettingsmeier | Date | RE: [xsl] Complex Sorting Help, Crist, Trevor |
Month |