Re: [xsl] Correcting a prior error

Subject: Re: [xsl] Correcting a prior error
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Fri, 30 Jul 2010 16:54:56 +0100
On 30/07/2010 16:43, Wendell Piez wrote:
At 05:44 AM 7/30/2010, Dave wrote:
Or change this to count(ancestor::*|preceding::*) + 1?

Or count(ancestor-or-self::*|preceding::*)


Or count(.|ancestor::*|preceding::*) ... :-)


Or count(ancestor::*) + count(preceding::*) + 1 to avoid the cost of unnecessarily sorting into document order, merging the lists, and eliminating the non-existent duplicates. (That's one reason I suggested xsl:number. Another, more important, is that in Saxon, xsl:number is optimized so that when you make repeated calls with the same attributes to number successive nodes, Saxon doesn't count all the nodes from the beginning of the document each time, it only counts back to the most recently numbered node).


Michael Kay
Saxonica

Current Thread