[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: simulating for with foreach
> > <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
|
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
|