[Home] [By Thread] [By Date] [Recent Entries]
Hi,
This is a little deviation from my previous problem in http://www.biglist.com/lists/xsl-list/archives/200703/msg00310.html. Now I have some flat xml like <section> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphsource">...</para> <para class="subsection1para"><inline class="subsection1title">...</inline></para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> <para class="subsection2para"><inline class="subsection2title">...</inline></para> <para class="subsection2para">...</para> <para class="subsection2para">...</para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> <para class="subsection1para"><inline class="subsection1title">...</inline></para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </section> that needs to be into this: <section> <epigraph> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphsource">...</para> </epigraph> <subsection1> <title><para class="subsection1para"><inline class="subsection1title">...</inline></para></title> <para class="subsection1para">...</para> <para class="subsection1para">...</para> <subsection2> <title><para class="subsection2para"><inline class="subsection2title">...</inline></para></title> <para class="subsection2para">...</para> <para class="subsection2para">...</para> </subsection> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </subsection1> <subsection1> <title><para class="subsection1para"><inline class="subsection1title">...</inline></para></title> <para class="subsection1para">...</para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </subsection1> </section> My current xsl: <xsl:template match="section"> <section> <xsl:for-each-group select="para" group-adjacent="replace(@class, 'epigraphsource', 'epigraphpara')"> <xsl:choose> <xsl:when test="current-grouping-key() = 'epigraphpara'"> <epigraph> <xsl:apply-templates select="current-group()"/> </epigraph> </xsl:when> <xsl:when test="current-grouping-key() eq 'subsection1para'"> <xsl:for-each-group select="current-group()" group-starting-with="para[child::inline[@class='subsection1title']]"> <subsection1> <xsl:apply-templates select="current-group()"/> </subsection1> </xsl:for-each-group> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="current-group()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </section> </xsl:template> Which so far produced: <section> <epigraph> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphpara">...</para> <para class="epigraphsource">...</para> </epigraph> <subsection1> <para class="subsection1para"><inline class="subsection1title">...</inline></para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </subsection1> <para class="subsection2para"><inline class="subsection2title">...</inline></para> <para class="subsection2para">...</para> <para class="subsection2para">...</para> <subsection1> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </subsection1> <subsection1> <para class="subsection1para"><inline class="subsection1title">...</inline></para> <para class="subsection1para">...</para> <para class="subsection1para">...</para> </subsection1> </section> -- *Jeff Sese*
|

Cart



