[xsl] Random number seed generation

Subject: [xsl] Random number seed generation
From: Michel Hendriksen <michel.hendriksen@xxxxx>
Date: Thu, 9 Dec 2010 15:04:57 +0100
Hi all,

I'm using Saxon9he processor XSLT 2.0, and I am trying to get some
random numbers. I'm currently using fxsl/random for this. The problem
is that it needs a seed.
I tried using current time stuff but that doesn't change during the
transfomation using the stylesheet.. So I tried an extension function
to cal to Java but that doesn't seem to work. Examples are probably
XSLT 1.0 but should be ok.

Is this possible on Home Edition? Did things change in transition to
2.0? Is there an other way to get some seed for the random function? I
can't resuse the value as I would have to keep it somewhere in between
calls. One idea would be to use generate-id() but that gives a string.
Could be useful when this is always convertible to a number.

I'm running the processor from a Java application now. It is a
learning project and should be able to run Genetic Algorithm
functionality, so lots of random stuff is needed.


   <xslt:value-of select="math:sqrt(10)" xmlns:math="java:java.lang.Math"/>

   <xslt:variable name="date" select="date:new()"

As samples for getting something but errors are:

Error at xslt:value-of on line 62 column 74 of selector.xsl:
 XPST0017: XPath syntax error at char 13 on line 62 in {math:sqrt(10)}:
   Cannot find a matching 1-argument function named {java:java.lang.Math}sqrt()
Error at xslt:variable on line 64 column 83 of selector.xsl:
 XPST0017: XPath syntax error at char 10 on line 64 in {date:new()}:
   Cannot find a matching 0-argument function named {java:java.util.Date}new()

Michel Hendriksen

Current Thread