Re: [xsl] FW: Xslt that worked for fop0.20.2 no longer works at later versions

Subject: Re: [xsl] FW: Xslt that worked for fop0.20.2 no longer works at later versions
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 29 Apr 2008 09:27:48 +0100
> Unfortunately I don't have time to do that now. Can you tell
> me how I can compare the previous value in a for-each loop 

In general that is not possible. Remember  that there is no requirement
that the items are evaluated in any order, and in particular they may be
evaluated in parallel, that's the whole point of declarative side
effect free programming style as used by XSLT.

If you know that the for-each is iterating through all the child  of
some common parent then the previous sibling will is
preceding-sibling::*[1]
but in general if the for-each is iterating over an arbitrary expression
then if you need to access the whole sequence then you may have to
access it something like

<xsl:variable name="nodes" select="some xpath"/>
<xsl:for-each select="$nodes">
<xsl:variable name="p" select="position()"/>

this node <xsl:apply-templates select="."/>

last node <xsl:apply-templates select="$nodes[$p - 1]"/>



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