Subject: Re: [xsl] Creating lists and sublists from a level attribute From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 1 Sep 2004 14:29:47 +0100 |
This is a standard grouping problem, XSLT2 has (will have) specific grouping constructs (group-adjacent) to make this easy but in xslt1 you can use any grouping technique (eg those on jeni's site http://www.jenitennison.com/xslt/grouping eg something like <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output indent="yes"/> <xsl:template match="x"> <ul> <xsl:apply-templates mode="toc" select="heading[1]"/> </ul> </xsl:template> <xsl:template mode="toc" match="heading"> <li> <span><xsl:value-of select="."/></span> <xsl:if test="@level < following-sibling::heading[1]/@level"> <ul> <xsl:apply-templates mode="toc" select="following-sibling::heading[1]"/> </ul> </xsl:if> </li> <xsl:apply-templates mode="toc" select="following-sibling::heading[@level=current()/@level][1]"/> </xsl:template> </xsl:stylesheet> <x> <heading level="1">A main Heading</heading> <heading level="2">Sub heading of main heading</heading> <heading level="2">another sub heading of main heading</heading> <heading level="1">Another main Heading</heading> </x> $ saxon head.xml head.xsl <?xml version="1.0" encoding="utf-8"?> <ul> <li> <span>A main Heading</span> <ul> <li> <span>Sub heading of main heading</span> </li> <li> <span>another sub heading of main heading</span> </li> </ul> </li> <li> <span>Another main Heading</span> </li> </ul> ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Creating lists and sublists f, Andrew Brothwell | Thread | RE: [xsl] Creating lists and sublis, Michael Kay |
[xsl] Creating lists and sublists f, Andrew Brothwell | Date | RE: [xsl] Creating lists and sublis, Michael Kay |
Month |