xsl-list
[Top] [All Lists]

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

2006-10-20 04:33:14
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" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:template match="/DOC">
    <Trx>
      <xsl:for-each-group select="*" group-starting-with="DATE">
        <xsl:if test="current-group()[1][self::DATE]">
          <Transaction>
            <xsl:apply-templates select="current-group()"/>
          </Transaction>
        </xsl:if>
      </xsl:for-each-group>
    </Trx>
  </xsl:template>

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

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

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

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

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

Rudolf Weinmann

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

<Prev in Thread] Current Thread [Next in Thread>