Re: [xsl] Another (positional?) grouping problem

Subject: Re: [xsl] Another (positional?) grouping problem
From: Rudolf P. Weinmann <rudolf.weinmann@xxxxxxxxxxxx>
Date: Fri, 20 Oct 2006 13:32:52 +0200
>The other way to achieve that would be to leave out the "except xxx", in
>which case the initial nodes would go in a group of their own, and you could
>eliminate that group with a test such as
><xsl:if test="current-group()[1][self::DATE]">

Michael, thanks again, this way I can avoid the use of preceding-sibling which
most probably results in a performance gain.
The stylesheet now looks as follows:

<xsl:stylesheet version="2.0"
  <xsl:template match="/DOC">
      <xsl:for-each-group select="*" group-starting-with="DATE">
        <xsl:if test="current-group()[1][self::DATE]">
            <xsl:apply-templates select="current-group()"/>

  <xsl:template match="DATE">
    <Date><xsl:value-of select="."/></Date>

  <xsl:template match="VALUE_DATE">
    <ValueDate><xsl:value-of select="."/></ValueDate>

  <xsl:template match="TEXT">
    <Text><xsl:value-of select="."/></Text>

  <xsl:template match="AMOUNT">
    <Amount><xsl:value-of select="."/></Amount>

  <xsl:template match="BALANCE_NEW">
    <NewBalance><xsl:value-of select="."/></NewBalance>

Rudolf Weinmann

Current Thread