xsl-list
[Top] [All Lists]

[xsl] simulating for with foreach

2006-07-05 03:36:38
Thanks Mike, Thanks David,
to clarify my request, suppose I don't have needed sequence of nodes
anywhere, and want to access every 4 elements: 1, 5, 9, ... to the
end. Do I have to use <xsl:if test="position() mod 4 = 1", or there is
a more flexible way?


On 7/5/06, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:

> but there are situations in which you can not use
> position() because it doesn't give you the exact node (for example
> when you have #text elements randomly beside <node>.

If you only want to iterate over elements, just select elements not text
nodes, then position() will give the position in the sequence of
selected items.

<xsl:for-each seelct="node[position() mod 2 =1]"

does what you want, I think.

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>
--~--