|
Subject: [xsl] access multiple entries of same tag in single template From: himanshu padmanabhi <himanshu.padmanabhi@xxxxxxxxx> Date: Thu, 16 Apr 2009 14:36:26 +0530 |
students.xml
<?xml version='1.0'?>
<?xml-stylesheet href="students.xsl" type="text/xsl"?>
<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>
name,addr and level1 are unique for each student.
level2 count changes for each student.
students.xsl
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="student">
<table><tr><td>
<UL>
<LI><xsl:value-of select="level1" /></LI>
<!--
I want something like this,
<xsl:check if level2 entry is there,if it is enter here>
<UL>
<xsl:for-each till level2 entries are there>
<LI><xsl:value-of select="level2" /></LI>
</xsl:for-each>
</UL>
</xsl:check if .. ends>
-->
<!--
So I tried this,but it is not working as expected -->
<xsl:if test="level2">
<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">
<LI><xsl:value-of select="level2" /></LI>
</xsl:for-each>
</UL>
</xsl:if>
<UL>
</td></tr></table>
</xsl:template>
</xsl:stylesheet>
---------------------------------
Thanks and Regards,
Himanshu Padmanabhi
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] [ANN] EXPath: collaboratively, Florent Georges | Thread | Re: [xsl] access multiple entries o, Martin Honnen |
| RE: [xsl] XML transformation based , Michael Kay | Date | Re: [xsl] access multiple entries o, Martin Honnen |
| Month |