xsl-list
[Top] [All Lists]

Re: [xsl] simulating for with foreach

2006-07-05 04:52:21
Thank you very much. That fully solved my problem, but just for my
curiosity, why position() (and also last()) do return sequential
numbers instead of real positions. I mean position() returns 1, 2, 3
instead of 1, 4, 9...

Thanks.

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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--