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

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


Subject: Re: [xsl] xsl-grouping two different elements together
From: gregor FELLENZ <gregor@xxxxxxxxxxxx>
Date: Tue, 16 Mar 2010 17:36:39 +0100

hi david,

thanks a lot, this works.

gregor

On 16.03.2010 17:21, David Carlisle wrote:
<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-adjacent="string(following-sibling::*[starts-with(name(),'einschub')][1]/name())

= string(preceding-sibling::*[starts-with(name(),'einschub')][1]/name())
or starts-with(name(),'einschub')" >
<xsl:choose>
<xsl:when test="current-grouping-key()">
<einschub
typ="{current-group()[starts-with(name(),'einschub')][1]/substring-after(name(),'einschub')}">

<xsl:copy-of select="current-group()"/>
</einschub>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="current-group()"/>
</xsl:otherwise>
</xsl:choose>
</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