This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Grouping the information - XSLT
- To: xsl-list at lists dot mulberrytech dot com
- Subject: [xsl] Grouping the information - XSLT
- From: "Kumar V." <vkumar at techbooks dot com>
- Date: Tue, 09 Oct 2001 17:42:41 +0530
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Friends,
I have some problem in the grouping the parallel information in the XSLT. I hope, you people will provide me a solution. <term> and <def> are defined as parallel elements. <def> element can occur without <term>.
Xml Coding:
<term>A</term><def>A stands for ...</def>
<term>B</term><def>B stands for ...</def>
<def>C stands for ....</def>
<def>D stands for ....</def>
<term>E</term><def>E stands for ...</def>
Output Should be:
<p align="justify">A A stands for ...</p>
<p align="justify">B B stands for ...</p>
<p align="justify">C stands for ....</p>
<p align="justify">D stands for ....</p>
<p align="justify">E E stands for ...</p>
I am using the below template to display the above output. But it is not coming perfectly.
<xsl:template match="def">
<p align="justify">
<xsl:if test="preceding::term[1]">
<xsl:value-of select="preceding::term[1]"/>
</xsl:if>
<xsl:if test="not(preceding::term)">
</xsl:if>
<xsl:apply-templates/></p>
</xsl:template>
Output using the above template
<p align="justify">A A stands for ...</p>
<p align="justify">B B stands for ...</p>
<p align="justify">B C stands for ....</p>
<p align="justify">B D stands for ....</p>
<p align="justify">E E stands for ...</p>
Thanks in Advance.
Regards,
Kumar V.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list