Subject: RE: "sorted" axis (was: Remove duplicates from a node-set accordi ng to content)
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Fri, 30 Jul 1999 15:46:44 +0100
|
> You could do
>
>(selectively quoted:)
>
> <xsl:apply-templates mode="sec"
> select="following-sibling::*[not(@name=$n)][1]"/>
> </xsl:template>
>
>
> <xsl:apply-templates
> mode="elem"
> select="following-sibling::*[position()=1 and (@name=$n)]">
> <xsl:with-param name="t" select="$t+@value"/>
> </xsl:apply-templates>
> <xsl:if test="not(following-sibling::*[position()=1 and (@name=$n)])">
> <total>
> <xsl:value-of select="$t+@value"/>
> </total>
You could indeed. Only two problems: it's murder to write, and it's hard to
optimise the implementation to run in linear time.
The second is perhaps a bad reason for changing the language (SQL users just
had to wait ten years while researchers came up with the optimisation
techniques), but the first is a rather good one.
Mike K
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|