Your XML is not well formed. But assuming that your well formed XML would be:
<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>
The following stylesheet produces the wanted output:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" />
</xsl:copy>
</xsl:template>
<xsl:template match="li" />
<xsl:template match="div">
<li>
<xsl:copy-of select="." />
</li>
</xsl:template>
</xsl:stylesheet>
As Andrew said, you don't need grouping here, but a variation of
identity transform.
On 10/2/06, Mario Madunic <hajduk(_at_)imag(_dot_)net> wrote:
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.
Any help would be grealy appreciated.
Mario Madunic
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--