Subject:XSL For each loop Author:niall mckenna Date:17 Jun 2005 05:14 AM
Hi I was wondering if anybody out there knows how i could do the following, I have a xml document with a number of tags with the same name, I want to check if a certain tag exist in a certain order e.g.
<name>John</name>
<name>Paul</name>
<name>Mark</name>
<name>Susan</name>
I want to write XSL code that will first check if paul exits, if it does output paul to file, if it doesn't check if Mark exist, if it does then output Mark, if it doesn't check if susan exists etc ........
Any help on this much appreciated, been trying to do this for a number of days now!
Subject:XSL For each loop Author:(Deleted User) Date:17 Jun 2005 10:36 AM
since xslt does not support else after xsl:if, you can use xsl:choose and otherwise to do it. the following code will work. the key is to use xpath like name[text()='Paul']to check if a particular name is existing.
<xsl:choose>
<xsl:when test="name[text()='Paul']">Paul</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="name[text()='Mark']">Mark</xsl:when>
<xsl:otherwise>
continue to check other name using xsl:choose
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>