Re: [xsl] Traversing the tree

Subject: Re: [xsl] Traversing the tree
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 8 Sep 2005 23:54:51 +0100
  <xsl:variable name="reg">
    <xsl:for-each select="//reg">
      <xsl:copy-of select="."/>

      <xsl:when test="$reg/

Note that's not legal in XSLT1 (as $reg is a result tree fragment) it's
legal but expensive in xslt2 (as you have to copy all the nodes)

better to do

  <xsl:variable name="reg" select="//reg"/>

An alternative strategy would be

<xsl:stylesheet version="1.0"

<xsl:template match="top">
<xsl:for-each select="a/reg">
:<xsl:variable name="x" select="(.|preceding-sibling::reg)[@offset][last()]"/>
<xsl:value-of select="."/>:  <xsl:value-of select="sum($x/@offset) +
    count(preceding-sibling::reg) - count($x/preceding-sibling::reg)"/>



This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread