Subject: [xsl] xsl:sort by a sum()? From: "Juan Gril" <juangril@xxxxxxxxxxxxx> Date: Thu, 11 Apr 2002 17:03:28 -0300 |
Hello everybody. Here is a question from a non programmer: I'm trying to sort elements by a sum operation. Here is an XML structurally similar to the one I'm using: <FruitBasket location="kitchen"> <Fruit name="Apples" amount="10"/> <Fruit name="Oranges" amount="20"/> </FruitBasket> <FruitBasket location="bedroom"> <Fruit name="Apples" amount="8"/> <Fruit name="Oranges" amount="7"/> </FruitBasket> And the following <xsl:for-each>: <xsl:for-each select="//Fruit[@name and not(@name=preceding::Fruit/@name)]"> <xsl:variable name="currentFruit" select="@name"/> <xsl:value-of select="$currentFruit"><xsl:text> : </xsl:text><xsl:value-of select="sum(//Fruit[@name=$currentFruit]/@amount)"/><br/> </xsl:for-each> After processing with Saxon 6.5.1 I get this: Apples: 18 Oranges: 27 Which is fine and dandy, but I've got 25 FruitBaskets with different amount of fruits each, so I need to sort them by the sum of each Fruit among FruitBaskets. Is there an Xpath expression that could achieve that? I had tried many, and also searched in the list, but I couldn't find something similar to my case. Many thanks in advance for the tip. Cheers, Juan XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] variable in xpath?, David N Bertoni/Camb | Thread | Re: [xsl] xsl:sort by a sum()?, Joerg Heinicke |
Re: [xsl] Indent based on position(, Kirk Allen Evans | Date | RE: [xsl] variable in xpath?, Steve Renshaw |
Month |