RE: [xsl]Jumping out a loop

Subject: RE: [xsl]Jumping out a loop
From: Meltem Kogelbauer <meltem.kogelbauer@xxxxxxxxxxxxxxxxxx>
Date: Wed, 18 Apr 2001 11:27:49 +0100
I have dealt with similar cases as the following.
You cannot jump out of for-each rule. Once you are in you are in. 
If you want to apply style-A, say, for the first two children and style-B
for the rest you can use two for-each loop selecting first two and the rest.

If you want to apply style-C for two children positioned as, say, the third
and the sixth children among the others, then best way would be applying a
template to the children

<xsl:template match="children">
<!--Children is grasslands in this case I believe-->

	<whatever-style><xsl:value-of select="." /></whatever-style>

When you call the template, call with the specific names

<xsl:apply-templates select="//Grasslands[LinksForTheGenus]" />
<xsl:apply-templates select="//Grasslands[References]" />

This way you can add/delete children easily.

Hope this will help.


-----Original Message-----
From: Tanzila Mohammad [mailto:tmohammad@xxxxxxxxxxxxxxxxxxxx]
Sent: 18 April 2001 11:03 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl]Jumping out a loop

I have the following loop:

<xsl:for-each select="Grasslands/*[position()&gt;3 and text()]">
	<h3><font color="#00007f"><i><xsl:value-of
	<p><font color="#008000"><xsl:value-of select="."/></font></p>

I want to jump out the loop at two children and perform a different function
for them:
For the Links of Genus child:

 <h3><a NAME="Label0045"></a><font color="#00007F"><i>Links for the
     <xsl:for-each select="Grasslands/LinksForTheGenus/Link">
      <li><font color="#008000"> <xsl:value-of
select="Address"/>;&#xA;<xsl:value-of select="Name"/> </font></li>

For The References child:
 <h3><a NAME="Label0045"></a><font

     <xsl:for-each select="Grasslands/References/Ref">
      <font color="#008000"> <xsl:value-of select="Name"/>&#xA;
<xsl:value-of select="Year"/>;&#xA;</font>

References and Links for Genus are slightly different than all children of
Grasslands, I figure I need some sort of 'if' statement maybe:

<xsl:if test="Grasslands[LinksForTheGenus]"> do process
<xsl:if test="Grasslands[References]"> do process

Any suggestions.


 XSL-List info and archive:

 XSL-List info and archive:

Current Thread