|
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 |