[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] for-each-group not working
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|