[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Random?

Subject: Re: Random?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Fri, 29 Apr 2005 22:51:02 +1000
xsl random
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.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.