Subject: RE: [xsl] XSLT 1.0: Grouping Adjacent Elements in Embedded Lists From: "Joe Heidenreich" <HeidenreichJ@xxxxxxxx> Date: Fri, 5 Nov 2004 11:26:51 -0500 |
Ok, I've made slight progress on this by changing the following transforms so that when I exit the embedded list, that is where I need to check if the next item is in the top-level list. The changes are as follows: <xsl:template match="OL_LI"> <xsl:if test="not(preceding-sibling::*[1][self::OL_LI|self::EM_OL_LI])"> <p> <ol> <xsl:apply-templates select="." mode="li"/> </ol> </p> </xsl:if> </xsl:template> <xsl:template name="OL_LI" match="OL_LI" mode="li"> <li><xsl:apply-templates /></li> <xsl:apply-templates select="following-sibling::*[1][self::EM_OL_LI]"/> <xsl:apply-templates select="following-sibling::*[1][self::EM_UL_LI]"/> <xsl:apply-templates select="following-sibling::*[1][self::OL_LI]" mode="li"/> </xsl:template> <xsl:template match="EM_OL_LI"> <xsl:if test="not(preceding-sibling::*[1][self::EM_OL_LI])"> <p> <ol> <xsl:apply-templates select="." mode="li"/> </ol> </p> </xsl:if> <xsl:apply-templates select="following-sibling::*[1][self::OL_LI]" mode="li"/> <xsl:apply-templates select="following-sibling::*[1][self::UL_LI]" mode="li"/> </xsl:template> <xsl:template match="EM_OL_LI" mode="li"> <li><xsl:apply-templates/></li> <xsl:apply-templates select="following-sibling::*[1][self::EM_OL_LI]" mode="li"/> </xsl:template> But now my problem is my output is: <p> <ol> <li>Top: Item 1</li> <p> <ol> <li>Sub A: Item 1</li> </ol> </p> <li>Top: Item 2</li> <p> <ol> <li>Sub B: Item 1</li> <li>Sub B: Item 2</li> <li>Sub B: Item 3</li> </ol> </p> </ol> </p> And the list cuts off after the second item without continuing to the next item. My output should be: <p> <ol> <li>Top: Item 1</li> <p> <ol> <li>Sub A: Item 1</li> </ol> </p> <li>Top: Item 2</li> <p> <ol> <li>Sub B: Item 1</li> <li>Sub B: Item 2</li> <li>Sub B: Item 3</li> </ol> </p> <li>Top: Item 3</li> <p> <ol> <li>Sub C: Item 1</li> <li>Sub C: Item 2</li> </ol> </p> </ol> </p>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT 1.0: Grouping Adjace, Wendell Piez | Thread | RE: [xsl] XSLT 1.0: Grouping Adjace, Joe Heidenreich |
RE: [xsl] <xsl:call-template> error, Pieter Reint Siegers | Date | [xsl] New XSLT 2.0 Working Draft, Michael Kay |
Month |