xsl-list
[Top] [All Lists]

Re: [xsl] group-adjacent problem

2008-12-16 07:57:08


However, the stylesheet doesn't group and produces instead:

well it did group

    <xsl:for-each-group select="*" group-adjacent="name()" >

but then you immediately unwound the grouping

       <xsl:for-each select="current-group()">



you want to add the  <sections> element once per group, not once per
item in the group, so



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

   <xsl:output method="xml" version="1.0" encoding="utf-8"
    indent="yes" />

   <xsl:template match="/">
     <xsl:apply-templates/>
   </xsl:template>

   <xsl:template match='*[sect]'>
     <xsl:for-each-group select="*" group-adjacent="name()" >
         <xsl:choose>
           <xsl:when test="current-grouping-key() = 'sect'">
             <sections>
               <xsl:apply-templates select='current-group()' mode='sect'/>
             </sections>
           </xsl:when>
           <xsl:otherwise>
             <xsl:apply-templates select='current-group()'/>
           </xsl:otherwise>
         </xsl:choose>
     </xsl:for-each-group>
   </xsl:template>

   <xsl:template match='sect' mode='sect'>
     <xsl:apply-templates/>
   </xsl:template>

   <xsl:template match='*'>
     <xsl:copy>
       <xsl:copy-of select="@*"/>
       <xsl:apply-templates />
     </xsl:copy>
   </xsl:template>

</xsl:stylesheet>

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>