Subject: Re: Find the node with maximum elements
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 5 Nov 2007 23:31:53 +0530
|
Nice solution, Scott.
On 11/5/07, Scott Trenda <Scott.Trenda@xxxxxxxx> wrote:
> This may be better represented with 2.0's grouping facilities, but
> here's the 1.0 solution I'd use to alleviate Mukul's concerns (building
> off Michael's response with <xsl:sort/>):
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:key name="cars" match="*[Car]" use="count(Car)"/>
>
> <xsl:template match="Sample">
>
> <xsl:variable name="max-cars">
> <xsl:for-each select=".//*[Car]">
> <xsl:sort select="count(Car)" data-type="number"/>
> <xsl:if test="position() = last()">
> <xsl:value-of select="count(Car)"/>
> </xsl:if>
> </xsl:for-each>
> </xsl:variable>
>
> <xsl:for-each select="key('cars', $max-cars)">
> <!-- do whatever you'd do with the results here -->
> <xsl:value-of select="name()"/>
> </xsl:for-each>
>
> </xsl:template>
>
> </xsl:stylesheet>
>
> ~ Scott
--
Regards,
Mukul Gandhi
|