Subject: [xsl] for-each-group not working From: "V.Ramkumar" <v.ramkumar@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 24 Nov 2008 16:59:13 +0530 |
Hi List, I am using saxon9 for xml transformation. In this, for-each-group not working fine. So please anyone find my errors. My HTML (input), <html> <body> <p class="indexmain"><em>Slogan main</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexmain"><em>Slogan main</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexsecond"><em>Slogan</em> 158</p> <p class="indexmain"><em>Slogan main</em> 158</p> </body> </html> My XSLT, <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="no" encoding="iso-8859-1" omit-xml-declaration="yes" /> <xsl:template match="html"> <projekt> <xsl:apply-templates/> </projekt> </xsl:template> <xsl:template match="body"> <werk> <xsl:for-each-group select="*" group-starting-with="p[contains(@class,'index')]"> <xsl:choose> <xsl:when test="self::p/@class[contains(.,'indexmain')]"> <index-eintrag> <xsl:apply-templates select="current-group()"/> </index-eintrag> </xsl:when> <xsl:when test="self::p/@class[contains(.,'indexsecond')]"> <index-eintrag1> <xsl:apply-templates select="current-group()"/> </index-eintrag1> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="current-group()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </werk> </xsl:template> </xsl:stylesheet> Output MXL, <projekt> <werk> <index-eintrag>Slogan main 158</index-eintrag> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag>Slogan main 158</index-eintrag> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag>Slogan main 158</index-eintrag> </werk> </projekt> Expected Output <projekt> <werk> <index-eintrag>Slogan main 158 <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> </index-eintrag> <index-eintrag>Slogan main 158 <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> <index-eintrag1>Slogan 158</index-eintrag1> </index-eintrag> <index-eintrag>Slogan main 158</index-eintrag> </werk> </projekt> Regards, Ramkumar
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Multiple for-each-group i, V.Ramkumar | Thread | Re: [xsl] for-each-group not workin, Andrew Welch |
Re: [xsl] are multiple predicates s, Mukul Gandhi | Date | Re: [xsl] for-each-group not workin, Andrew Welch |
Month |