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

Re: [xsl] Wrap changing element sequence into container: with 'for-each-group'?


Subject: Re: [xsl] Wrap changing element sequence into container: with 'for-each-group'?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 31 Jan 2007 16:51:19 GMT

       <xsl:apply-templates select="a"/>

       <xsl:for-each-group
         select="b|c" group-adjacent="1">
         <container1>
           <xsl:copy-of select="current-group()"/>
         </container1>
       </xsl:for-each-group>

       <xsl:apply-templates select="d|e|f"/>

       <xsl:for-each-group
         select="g|h|i" group-adjacent="1">
         <container2>
           <xsl:copy-of select="current-group()"/>
         </container2>
       </xsl:for-each-group>

       <xsl:apply-templates select="j"/>


Is the same as


       <xsl:apply-templates select="a"/>

         <container1>
           <xsl:copy-of select="b|c"/>
         </container1>

       <xsl:apply-templates select="d|e|f"/>

         <container2>
           <xsl:copy-of select="g|h|i"/>
         </container2>

       <xsl:apply-templates select="j"/>

ie it doesnt not preserve the original order of the elements but
collects together all elements in each group. That isn't what i
understood you to want, but if that is what you want, you don't need any
grouping construct at all.

David


Current Thread