Re: [xsl] problem with handling conditional for loops

Subject: Re: [xsl] problem with handling conditional for loops
From: Rahil <qamar_rahil@xxxxxxxxxxx>
Date: Wed, 27 Apr 2005 15:15:06 +0100
Jim Neff wrote:

Rahil, you can use the xsl:choose statement like this to conditionally use
for-loops

<xsl:choose>

<xsl:when test="some-condition-true" >

<xsl:for-each select="selection-criteria">



</xsl:for-each

</xsl:when>

<xsl:otherwise>

</xsl:otherwise>

</xsl:choose>


That would seem like a natural progression to resolve the problem. However in my case im working with two files simultaneously.

I have two for loops. The first for loop runs through the first file First.xml such that

<xsl:for-each select="document(First.xml)/SubConcepts/SubConcept">.............</xsl:for-each> <!--extract the '@name' value-->

The second for loop is nested within the first loop and is as such

<xsl:for-each select="document(Second.xml)/SubConcepts/SubConcept[1]/Value"> <!--check if contains( '@name=text()' ) -->

What I want to do is look for the '@name' value in the rest of the 'document(Second.xml)/SubConcepts/SubConcept' ONLY IF I dont find a match in the earlier SubConcept node's Value nodes.


As a matter of philosophy, conditional logic like this and for-each loops
should be used sparingly in XSLT.


--Jim





-----Original Message-----
From: Rahil [mailto:qamar_rahil@xxxxxxxxxxx] Sent: Wednesday, April 27, 2005 9:51 AM
To: XSL List
Subject: [xsl] problem with handling conditional for loops


Hi

I desperately need some help. So would appreciate any suggestions etc.

I want to execute a second for loop IF AND ONLY IF the first for loop doesnt satisfy the condition. How do I go about doing it in XSL ?

Please give me some suggestion.

Thanks
Rahil

Current Thread