Re: [xsl] xsl-grouping two different elements together

Subject: Re: [xsl] xsl-grouping two different elements together
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 16 Mar 2010 15:09:00 +0000
On 16/03/2010 14:42, gregor FELLENZ wrote:

It's hard sometimes to infer a general rule from a single example, but perhaps something like this, assuming that abs is usable as a group separator:


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema"; exclude-result-prefixes="xs" version="2.0">


<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="kapitel">
<xsl:copy>
<xsl:for-each-group select="*" group-starting-with="abs" >
<xsl:copy-of select="."/>
<xsl:if test="current-group()[2]">
<einschub typ="{current-group()[starts-with(name(),'einschub')][1]/substring-after(name(),'einschub')}">


     <xsl:copy-of select="current-group() except ."/>
    </einschub>
   </xsl:if>
   </xsl:for-each-group>
 </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. ________________________________________________________________________


Current Thread