|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Designs for XSLT functions (Was: Re: RE: syntax su
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








