Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / June 2005

Tip: Looking for answers? Try searching our database.

For-each or recursion in XSLT

Thread view: 
Oleg Konovalov - 14 May 2005 04:06 GMT
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.
Danny - 04 Jun 2005 03:02 GMT
    I don't think you've worded your query well and concise enough, all I can  
tell is that you want to iterate some nodes using XSL but not using the  
1st node in the as the starting point or so.

                            Danny

>  Hi,
>
[quoted text clipped - 39 lines]
> Thank you in advance,
> Oleg.

Signature

Using Opera's revolutionary e-mail client: http://www.opera.com/mail/



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.