Hi Renee,
How can I get the stylesheet to wrap the nested section tags only
around the content beginning with the first <h2> and not around the
elements that come before the first <h2>?
Add a test to see whether the current node (which is the first node in
a particular group) is an <h2> element or not; if it is, then create
the <section> element; if it isn't, then don't:
<xsl:template match="doc">
<doc>
<xsl:for-each-group select="*" group-starting-with="h1">
<section>
<xsl:apply-templates select="current-group()[self::h1]" />
<xsl:for-each-group select="current-group() except ."
group-starting-with="h2">
<xsl:choose>
<xsl:when test="self::h2">
<section>
<xsl:apply-templates
select="current-group()[self::*]" />
</section>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates
select="current-group()[self::*]" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</section>
</xsl:for-each-group>
</doc>
</xsl:template>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/