Re: [xsl] Problem with iterating through a sequence of integers

Subject: Re: [xsl] Problem with iterating through a sequence of integers
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Mon, 28 Apr 2008 22:05:21 +0100
On 28/04/2008, David Carlisle <davidc@xxxxxxxxx> wrote:
>
>  various ways, you could forexample stick the body of the loop into a
>  named template and just have the body being a xsl:call-template
>  so that when it's compiled it's not known statically that it's an
>  integer.
>
>
>  It's possible to avoid putting the whole body in a separate template,
>  for example this works, today:
>
>
>             <xsl:when test=". instance of node()">
>
>                 <xsl:apply-templates select="(.,doc('grrr'))[1]" />
>             </xsl:when>
>
>  but if the xslt engine's rewrite engine gets smarter and simplifies
>  (.,doc('grrr'))[1] to . then you'd be back to where you started.

Or perhaps:

<xsl:for-each select="(1, 2, 3, /)[position() ne last()]">

...might be enough to fool it.


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread