Subject: simulating for with foreach
From: "Mohsen Saboorian" <mohsens@xxxxxxxxx>
Date: Wed, 5 Jul 2006 14:06:17 +0330
|
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@xxxxxxxxx> 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
|