Re: [xsl] access multiple entries of same tag in single template

Subject: Re: [xsl] access multiple entries of same tag in single template
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Thu, 16 Apr 2009 11:38:22 +0200
himanshu padmanabhi wrote:
students.xml

<?xml version='1.0'?>
<?xml-stylesheet href="students.xsl" type="text/xsl"?>

Where is the root element?


  <student>
       <name>Himanshu</ABC>
       <addr>ABC</addr>
       <level1>Languages</level1>
       <level2>C</level2>
       <level2>CPP</level2>
       <level2>PERL</level2>
  </student>
  <student>
       <name>Makhu</ABC>
       <addr>PQR</addr>
       <level1>Oracle Database</level1>
  </student>
   <student>
       <name>John</ABC>
       <addr>XYZ</addr>
       <level1>Subjects</level1>
       <level2>CO</level2>
       <level2>CG</level2>
       <level2>MIS</level2>
       <level2>SE</level2>
       <level2>PPL</level2>
       <level2>CN</level2>
  </student>

<!--
 So I tried this,but it is not working as expected -->
                  <xsl:if test="level2">

That check is fine.


		        <UL>
<!-- <xsl:apply-templates match="level2"> will work,but is there any
other way to write it in this template only -->
			    <xsl:for-each select="//level2">	

Use <xsl:for-each select="level2"> to process all 'level2' child elements.

<LI><xsl:value-of select="level2" /></LI>

Use <li><xsl:value-of select="."/></li> here.

--

	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

Current Thread