[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: two-level grouping
Terry Ofner wrote:
I am stuck on a two-level grouping problem. This one is slightly different from the last one. I believe it involves nested grouping sequences, but I have been wrong on numerous occasions before. Here is a solution, using the same approach as in my last suggestion on your earlier grouping problem: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="bodymatter"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:for-each-group select="*" group-starting-with="chapter"> <level1> <xsl:for-each-group select="current-group()" group-starting-with="a-head"> <xsl:choose> <xsl:when test="current-group()[1][self::a-head]"> <level2> <xsl:apply-templates select="current-group()"/> </level2> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="current-group()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </level1> </xsl:for-each-group> </xsl:copy> </xsl:template> </xsl:stylesheet> I think that gives you the grouping you want. -- Martin Honnen http://JavaScript.FAQTs.com/
|
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
|