xsl-list
[Top] [All Lists]

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

2010-03-16 11:21:27
<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. ________________________________________________________________________

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