Subject: Re: [xsl] Multiple for-each-group in a single template From: "Vasu Chakkera" <vasucv@xxxxxxxxx> Date: Thu, 20 Nov 2008 11:13:13 +0000 |
Good. David has replied back with that assumption of input XML. Vasu On Thu, Nov 20, 2008 at 11:12 AM, V.Ramkumar <v.ramkumar@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Well formed Input only I am using. Mistakes happened when I compose a > mail(sample input) > > <body> > <p class="heading-1">Heading 1</p> > <p>para 1</p> > <p class="box">para 2</p> > <p class="box">para 3</p> > <p>para 4</p> > <p class="heading-2">Heading 2</p> > <p>para 1</p> > <p class="exercise">para 2</p> > <p class="exercise">para 3</p> > <p>para 4</p> > </body> > > > Regards, > Ramkumar > > -----Original Message----- > From: Vasu Chakkera [mailto:vasucv@xxxxxxxxx] > Sent: Thursday, November 20, 2008 4:38 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Multiple for-each-group in a single template > > Your XML is not wel formed. if you could send back the XML that is > properly closes ( see the h1, h2, and p class= "heading.. ) is not > closed. > its hard to device a solution with out knowing the correct input. > > <body> > <p class="heading-1">Heading 1</p> > <p>para 1</p> > <p class="box">para 2</p> > <p class="box">para 3</p> > <p>para 4</p> > <p class="heading-2">Heading 2</p> > <p>para 1</p> > <p class="exercise">para 2</p> > <p class="exercise">para 3</p> > <p>para 4</p> > </body> > > Vasu > >> Hi List, >> >> I am getting duplicate when use multiple for-each-group in a single > template >> (based on single parent). Please find mistakes in my xslt. >> >> Input: >> <body> >> <p class="heading-1">Heading 1</h1> >> <p>para 1</p> >> <p class="box">para 2</p> >> <p class="box">para 3</p> >> <p>para 4</p> >> <p class="heading-2">Heading 2</h2> >> <p>para 1</p> >> <p class="exercise">para 2</p> >> <p class="exercise">para 3</p> >> <p>para 4</p> >> </body> >> >> Exp.Output: >> >> <body> >> <section title="Heading-1"> >> <p>para 1</p> >> <box> >> <p>para 2</p> >> <p>para 3</p> >> </box> >> <p>para 4</p> >> </section> >> <section title="Heading-2"> >> <p>para 1</p> >> <excecise> >> <p>para 2</p> >> <p>para 3</p> >> </excecise> >> <p>para 4</p> >> </section> >> </body> >> >> My XSLT: (sample) >> <xsl:template match="body"> >> <body> >> <xsl:for-each-group select="*" >> group-adjacent="string(self::p/@class[contains(.,'box')])"> >> <xsl:choose> >> <xsl:when >> test="self::p/@class[contains(.,'box')]"> >> <box> >> <xsl:apply-templates >> select="current-group()"/> >> </box> >> </xsl:when> >> <xsl:otherwise> >> <xsl:apply-templates >> select="current-group()"/> >> </xsl:otherwise> >> </xsl:choose> >> </xsl:for-each-group> >> <xsl:for-each-group select="*" >> group-adjacent="string(self::p/@class[contains(.,'exercise')])"> >> <xsl:choose> >> <xsl:when >> test="self::p/@class[contains(.,'exercise')]"> >> <exercise> >> <xsl:apply-templates >> select="current-group()"/> >> </exercise> >> </xsl:when> >> <xsl:otherwise> >> <xsl:apply-templates >> select="current-group()"/> >> </xsl:otherwise> >> </xsl:choose> >> </xsl:for-each-group> >> ......like wise section and all >> >> </body> >> >> Regards, >> Ramkumar >> >> > > > > -- > Vasu Chakkera > Numerical Algorithms Group Ltd. > Oxford > www.vasucv.com > > -- Vasu Chakkera Numerical Algorithms Group Ltd. Oxford www.vasucv.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Multiple for-each-group i, V.Ramkumar | Thread | Re: [xsl] Multiple for-each-group i, David Carlisle |
RE: [xsl] Multiple for-each-group i, V.Ramkumar | Date | RE: [xsl] Multiple for-each-group i, V.Ramkumar |
Month |