[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] For-each-group problem


Subject: Re: [xsl] For-each-group problem
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 2 Oct 2006 23:03:34 +0530

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@xxxxxxxx> 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


Current Thread
Keywords