Subject: Re: [xsl] Processing based on number - alternatives to recursion? From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 4 Mar 2008 16:18:19 GMT |
> In order to use xsl:for-each, I'd have to dispose of something > generating a node-set based on my number, wouldn't I? yes if you know that your input document (or stylesheet is big enough) a common trick was to use <xsl:for-each select="(//*)[position() <= Urmel]".... which may not be any more efficient, but is a lot shorter. in xslt2 you can go <xsl:for-each select="1 to xs:integer(Urmel)"> ... which is a bit nicer (it would be nicer still if you didn't have to explicitly cast the range to an integer, but teh default casting would lead to a double and (unlike say the arguments to substring)) the to operator really wants an integer, > Or is this misguided optimization thinking in thinking that lots of > template invocations are bad? If you write the recursive call as a tail recursive call as you have done, then in most (I hope) XSLT systems this will be essentially compiled to a loop an not take up the stack space that would naturally implied by a deeply nested set of function calls. David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Processing based on numbe, Vyacheslav Sedov | Thread | Re: [xsl] Processing based on numbe, Michael Ludwig |
Re: [xsl] Processing based on numbe, Vyacheslav Sedov | Date | Re: [xsl] Processing based on numbe, Martin Honnen |
Month |