Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule

Subject: Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 16 Mar 2007 15:07:20 GMT
  then the following line would return '1 2 3':
  <xsl:value-of select="my:seq-number(), my:seq-number(), my:seq-number()" />

  There are three scenarios to resolve this issue:

   1. Use an extension function in the host language (java, .net)

this may be harder than it first appears. The obvious definitions would
result in a function that returned an incremented number each time it
was evaluated, but that would give you no guarantee that
"my:seq-number(), my:seq-number(), my:seq-number()" 
returned 1,2,3 as the three calls may be evaluated in any order, or in
parallel, at the whim of the system. You really would need, not only an
extension function that allowwed side effects but some kind of extension
configuration that constrained the evaluation order of sequences using
that extension function.


David

Current Thread