Re: Grouping

"Martin Honnen [email protected]" <[email protected]>
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
Am 21.10.2020 um 17:57 schrieb Christoph Naber [email protected]:

> The group-wrap should be performed for sequences of <points> of @type =
> '1'. <Points> of other types and completeley other nodes should not be
> grouped.
>
> The "group-adjacent" solution seemes obvious but I have to account for
> various parent elements that all have different templates. Wouldn't
> using the group-adj. solution mean that I have to edit each and every
> template that can possibly contain <points>?

I did not notice the requirement of different parent templates so I was
thinking in doing

   <xsl:template match="*[point/@type = 1]">
       <xsl:copy>
           <xsl:for-each-group select="*"
group-adjacent="boolean(self::point[@type = 1])">
               <xsl:choose>
                   <xsl:when test="current-grouping-key()">
                       <group>
                           <xsl:apply-templates select="current-group()"/>
                       </group>
                   </xsl:when>
                   <xsl:otherwise>
                       <xsl:apply-templates select="current-group()"/>
                   </xsl:otherwise>
               </xsl:choose>
           </xsl:for-each-group>
       </xsl:copy>
   </xsl:template>


It is certainly possible to put the grouping code into a function to use
it in different templates, hard to tell whether that will work with the
various parent elements having different templates without seeing how
these templates look.

--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.