Subject: Re: [xsl] simulating for with foreach From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 5 Jul 2006 12:29:37 +0100 |
> > <xsl:for-each select="node[position() mod 4 = 1]"> > > This is exactly what I want, but although this for-each iterates over > > 1, 5, 9, ... elements, when I print position() inside this loop, it > > prints 1, 2, 3, 4, ... > > > > How can I figutre out which child element is now selected, 1? 5? ... Well as I said in my reply, normally you _want_ position() to go in that sequence so you can number the output, check for the last item using position()=last() etc. So either you keep position() that way and just calculate the old position by inverting the formula, (position()-1)*4+1 in this case or you do as you originally did and select them all and use xsl:if just to process teh opnes you want. <xsl:for-each select="nodes"> <xsl:if test="position() mod 4 = 1"> ... then inside the xsl:if position() will be 1,5,... really I'm not sure what the problem is that you are having, since it seems like the final preferred answer is the code you started with? David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] simulating for with forea, Mohsen Saboorian | Thread | Re: [xsl] simulating for with forea, Mohsen Saboorian |
Re: [xsl] simulating for with forea, Mohsen Saboorian | Date | Re: [xsl] simulating for with forea, Mohsen Saboorian |
Month |