Subject: Re: Designs for XSLT functions (Was: Re: [xsl] RE: syntax sugar for call-template) From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 22 Feb 2001 22:09:32 +0000 |
Hi Steve, > Why couldn't you implement the function without > recursion with a technique like: > > <exsl:function> > <xsl:variable name="foo"> > <xsl:for-each> > <xsl:sort ... > > <xsl:if test="5 <= position()"> > <xsl:copy-of select="."/> > </xsl:if> > </xsl:for-each> > </xsl:variable> > <exsl:return select="$foo"/> > </exsl:function> Because that creates a new node set stuffed full of *copies* of the nodes, not the original nodes. You could do: <exsl:function> <xsl:param name="nodes" /> <xsl:variable name="foo"> <xsl:for-each select="$nodes"> <xsl:sort /> <xsl:if test="5 <= position()"> <node id="{generate-id()}" /> </xsl:if> </xsl:for-each> </xsl:variable> <exsl:return select="$nodes[generate-id() = $foo/node/@id]" /> </exsl:function> as a non-recursive and fairly hacky solution. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Designs for XSLT functions (Was, Steve Muench | Thread | Re: Designs for XSLT functions (Was, David Carlisle |
[xsl] cannot reach the inner tags, Franz Figl | Date | Re: [xsl] Newbie needs xsl, Jeni Tennison |
Month |