Re: [xsl] Traversing the tree

Subject: Re: [xsl] Traversing the tree
From: "Agnisys Technology \(P\) Ltd." <agnisys@xxxxxxxxx>
Date: Thu, 8 Sep 2005 18:59:57 -0700 (PDT)
David,
  Your alternate strategy works well and solves the problem.
  Although, I do need to study it carefully to understand how it is doing it!
Thanks,
Anupam.


--- David Carlisle <davidc@xxxxxxxxx> wrote:

> 
> 
> 
>   <xsl:variable name="reg">
>     <xsl:for-each select="//reg">
>       <xsl:copy-of select="."/>
>     </xsl:for-each>
>   </xsl:variable>
> 
> ..
>       <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"
>               xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 
> <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)"/>
> </xsl:for-each>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> 
> David
> 
> ________________________________________________________________________
> 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:
> http://www.star.net.uk
> ________________________________________________________________________
> 
> 



	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/

Current Thread