xsl-list
[Top] [All Lists]

For-each loop or recursion

2005-05-13 19:58:46
Hi,

I am new to XSLT, modifying somebody else's code:

I have the following data (leaves in parallel branches):
mystruct/myarray1[i]/myvar/var2 and
mystruct/myarray2[i]/myvar/var3
 
I need to implement the find the first occurence of :
<xsl:if test="position() != last() and
  number(var2) = number(var2[position()+1]) and
  number(var3) = number(var3[position()+1])">
      <value-of select="position()">
</xsl:if>

A few questions to XSLT gurus:
1)  Does it make sense to do in the for-each loop or it will require a
recursion ?
All I need is to get the position of the 1st occurrence.
How would that recursion look like?

2) Will I be able to get a node from the parallel branch in for-each loop ?
Something like:
<xsl:for-each mystruct/myarray1[i]/myvar>
  <xsl:if test=" ...and number(../../myarray2[i]/myvar/var3) =
number((../../myarray2[i]/myvar/var3)[position()+1]) and...">
    <value-of select="position()">
  </xsl:if>
</xsl:for-each>)
I know it looks awful  :-(

3) Is there a way to somehow start the for-each loop
from position other than 1 ?
Like with j>1:   
<xsl:for-each mystruct/myarray1[i]/myvar[j]>
....  
</xsl:for-each>

I am using XSLT 1.x


Thank you in advance,
Oleg.

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



<Prev in Thread] Current Thread [Next in Thread>