[xsl] Re: Random?

Subject: [xsl] Re: Random?
From: Ali Choumane <ali.choumane@xxxxxxx>
Date: Mon, 2 May 2005 12:27:50 +0200
Hi Dimitre, 
first, thanks for your help,
second, 
I am using the seconds part of the current time -- as the value of the pSeed 
parameter (by using the library  of exslt).
 
But the problem is : I am calling the function randomSequence several times 
per second ,so I have the same value of the parameter pSeed to the 
randomSequence.

I want to use the third part of the current time (milliseconds) ??? its 
possible?? I can't find anything!



Quoting Dimitre Novatchev <dnovatchev@xxxxxxxxx>:

> Hi Ali,
> 
> On 4/29/05, Ali Choumane <ali.choumane@xxxxxxx> wrote:
> > Hi Dimitre,
> > 
> > I am using the template "randNext" in random.xsl :
> > 
> > ...
> > <sentence>
> > <xsl:attribute name="stamp">
> >     <xsl:call-template name="randNext">
> >         <xsl:with-param name="arg1" select="1"/>
> >     </xsl:call-template>
> >  </xsl:attribute>
> >  <xsl:attribute name="state">nonDesamb</xsl:attribute>
> >  <xsl:value-of select="concat($arg1/sentence[last()], $arg2)"/>
> > </sentence>
> > ...
> > 
> > and this is a part of result of transformation:
> > ...
> >  <sentence stamp="39022" state="nonDesamb">111 111 111</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 222 222</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 333 333 333</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 444 444 444</sentence>
> >  <sentence/>
> >  <sentence stamp="39022" state="nonDesamb">555 555 555</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 666 666 666</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 777 777 777</sentence>
> >  <sentence stamp="39022" state="nonDesamb"> 888 888 888, 999
> 999999</sentence>
> > ...
> > 
> > As the result show, "stamp" it's not a key now. I think because "arg1" is
> > fixed.
> > 
> > and I am using the template "randomSequence" in random.xsl, but it can't
> > resolve the problem.
> 
> randomSequence produces a sequence of (the pLength parameter) N
> numbers. If the seed (the pSeed parameter) is the same on two
> invocations of randomSequence, the two produced sequences are, of
> course, the same.
> 
> > I think , if I put a variable value of "arg1" , can resolve the problem?
> 
> In order to achieve truly "random" results, the transformation has to
> use some non-fixed number, such as the seconds part of the current
> time -- and this can be passed as a parameter to the transformation by
> the external code that invokes it.
> 
> Then this number can be used as a seed -- to be passed as the value of
> the pSeed parameter.
> 
> > But how, when we can't change the value of variables in XSLT?
> 
> We can't and actually we don't need to.
> 
> Cheers,
> Dimitre novatchev.
> 


Ali CHOUMANE
M2R III ,Univ Joseph fourrier, UFR IMA
WAM/INRIA & GETA/CLIPS
portable.      06 71 55 80 65
Bureau(INRIA). 04 76 61 54 13 
Email. ali.choumane@xxxxxxx

-------------------------------------------------
envoyi via Webmail/IMAG !

Current Thread