|
Subject: [xsl] Using xsl:for-each-group to create nested sections From: "Swanjord, Renee" <RSwanjord@xxxxxxxxxxxxxxxxxxx> Date: Fri, 9 Jul 2004 10:57:15 -0500 |
I am creating nested section elements from a fairly flat input file, but
I am having difficulty getting the nested sections to output correctly.
This is my input XML:
<doc>
<h1>chapter title</h1>
<para>introduction</para>
<h2>section title</h2>
<para>stuff</para>
<para>more stuff</para>
<h2>another section</h2>
<para>blah, blah, blah</para>
<note>You will be on vacation soon!</note>
<para>summary</para>
</doc>
This is my desired output:
<doc>
<section>
<title>chapter title</title>
<para>introduction</para>
<section>
<title>section title</title>
<para>stuff</para>
<para>more stuff</para>
</section>
<section>
<title>another section</title>
<para>blah, blah, blah</para>
<note>You will be on vacation soon!</note>
<para>summary</para>
</section>
</section>
</doc>
However, my current XSLT:
<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">
<section>
<xsl:apply-templates select="current-group()[self::*]" />
</section>
</xsl:for-each-group>
</section>
</xsl:for-each-group>
</doc>
</xsl:template>
....
Is producing the following output:
<doc>
<section>
<title>chapter title</title>
<section>
<para>introduction</para>
</section>
<section>
<title>section title</title>
<para>stuff</para>
<para>more stuff</para>
</section>
<section>
<title>another section</title>
<para>blah, blah, blah</para>
<note>You will be on vacation soon!</note>
<para>summary</para>
</section>
</section>
</doc>
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>?
Thanks,
Renee
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to find out number of, David Carlisle | Thread | Re: [xsl] Using xsl:for-each-group , Jeni Tennison |
| Re: [xsl] position() in xsl:for-eac, Vidar Ramdal | Date | Re: AW: AW: AW: AW: [xsl] commentin, Wendell Piez |
| Month |