You're not making your requirements very clear.
If you have the sequence of positions as input (in XSLT 1.0 this would have
to be in a node-set, e.g.
<xsl:variable name="positions">
<p>1</p>
<p>5</p>
<p>6</p>
</xsl:variable>
then you can process the nodes at those positions using
<xsl:variable name="nodes" select="nodes"/>
<xsl:for-each select="$positions/p">
<xsl:variable name="pos" select="number(.)"/>
<xsl:apply-templates select="$nodes/node[$pos]"/>
</xsl:for-each>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Mohsen Saboorian [mailto:mohsens(_at_)gmail(_dot_)com]
Sent: 05 July 2006 10:19
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] simulating for with foreach
Hi,
I would like to know if it is possible to iterate over a set
of elements (say node in this example) in a special way (not
every element, but 1, 3, 5, ... or any other sequence). (XSLT
1) <nodes>
<node />
<node />
<node />
<node />
</nodes>
I know that one way is to <xsl:iterate> and use <xsl:if> and
position(), 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>.
Thanks.
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--