Subject: Grouping of a plain html files
From: "J. S. Rawat" <jrawat@xxxxxxxxxxxxxx>
Date: Thu, 30 Oct 2008 12:31:26 +0530
|
Hi all,
Can anybody help me out to get the required output.
Input
<div class="TOC">
<p class="TOC_entry_level1">Ent<i>r</i>y 1-1</p>
<p class="TOC_entry_level1">Ent<b>r</b>y 1-2</p>
<p class="TOC_entry_level1">Ent<b>r</b>y 1-3</p>
<p class="TOC_entry_level2">Ent<b>r</b>y 2-1</p>
<p class="TOC_entry_level2">Ent<b>r</b>y 2-2</p>
<p class="TOC_entry_level1">Ent<i>r</i>y 1-4</p>
<p class="TOC_entry_level2">Ent<b>r</b>y 2-3</p>
</div
XSL
<xsl:template match="div[@class='TOC']">
<toc>
<xsl:apply-templates select="p[1][@class='TOC_entry_level1']"/>
</toc>
</xsl:template>
<xsl:template match="p[@class='TOC_entry_level1']">
<entry1>
<xsl:apply-templates select="." mode="label1"/>
<xsl:if test="following::p[1][@class='TOC_entry_level2']">
<xsl:apply-templates select="following::p[1][@class='TOC_entry_level2']"/>
</xsl:if>
</entry1>
<xsl:apply-templates select="following::p[1][@class='TOC_entry_level1']"/>
</xsl:template>
<xsl:template match="p[@class='TOC_entry_level2']">
<entry2>
<xsl:apply-templates select="." mode="label1"/>
</entry2>
<xsl:if test="following::p[1][@class='TOC_entry_level2']">
<xsl:apply-templates select="following::p[1][@class='TOC_entry_level2']"/>
</xsl:if>
<xsl:if test="following::p[1][@class='TOC_entry_level1']">
<xsl:apply-templates select="following::p[1][@class='TOC_entry_level1']"/>
</xsl:if>
</xsl:template>
<xsl:template match="p" mode="label1">
<xsl:apply-templates/>
</xsl:template>
OUTPUT of Above XSL
<toc>
<entry1>Ent<i>r</i>y 1-1</entry1>
<entry1>Ent<b>r</b>y 1-2</entry1>
<entry1>Ent<b>r</b>y 1-3
<entry2>Ent<b>r</b>y 2-1</entry2>
<entry2>Ent<b>r</b>y 2-2</entry2>
<entry1>Ent<i>r</i>y 1-4
<entry2>Ent<b>r</b>y 2-3</entry2>
</entry1>
</entry1>
</toc>
REQUIRED OUTPUT
<toc>
<entry1>Ent<i>r</i>y 1-1</entry1>
<entry1>Ent<b>r</b>y 1-2</entry1>
<entry1>Ent<b>r</b>y 1-3
<entry2>Ent<b>r</b>y 2-1</entry2>
<entry2>Ent<b>r</b>y 2-2</entry2>
</entry1>
<entry1>Ent<i>r</i>y 1-4
<entry2>Ent<b>r</b>y 2-3</entry2>
</entry1>
</toc>
Thanks
...JSR
|