Subject: Re: [xsl] For-each-group problem From: "andrew welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 2 Oct 2006 16:40:07 +0100 |
Can't seem to get the results I want using for-each-group
Using Saxon 8 and XSLT 2
Sample doc
<root> <body> <heading> <p></p> <p></p>
<li></li> <div> <p></p> <p></p> </div>
<li></li> <div> <p></p> <p></p> <p></p> <p></p> </div>
<li></li> <div> <p></p> <p></p> </div>
<p></p> <p></p> <footer></footer> <body> </root>
I want it to look like the following
<root> <body> <heading> <p></p> <p></p>
<li> <div> <p></p> <p></p> </div> </li>
<li> <div> <p></p> <p></p> <p></p> <p></p> </div> </li>
<li> <div> <p></p> <p></p> </div> </li>
<p></p> <p></p> <footer></footer> <body> </root>
I've followed the example in MK's XSLT 2 book page # 297 and haven't achieved the same results. I have a bunch of elements that this must be done to.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template>
<xsl:template match="heading"> <xsl:copy> <xsl:apply-templates select="*[not(self::div)]"/> </xsl:copy> </xsl:template>
<xsl:template match="li"> <xsl:copy> <xsl:apply-templates select="following-sibling::*[1][self::div]"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
<root> <body> <heading> <p/> <p/> <li> <div> <p/> <p/> </div> </li> <li> <div> <p/> <p/> <p/> <p/> </div> </li> <li> <div> <p/> <p/> </div> </li> <p/> <p/> </heading> <footer/> </body> </root>
cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] For-each-group problem, Mario Madunic | Thread | Re: [xsl] For-each-group problem, Mukul Gandhi |
Re: [xsl] Different results of form, Abel Braaksma | Date | [xsl] Handling Un well-Formed conte, Senthilkumaravelan K |
Month |