|
Subject: Re: [xsl] Random number seed generation From: TW <zupftom@xxxxxxxxxxxxxx> Date: Fri, 10 Dec 2010 13:15:24 +0100 |
There is certainly a lot of room for improvement. My template returns
the same number if two ids consist of the same characters in a
different order. Maybe multiplying with a constant in every step
would already be a bit better:
<with-param name="preliminary-seed"
select="3*($preliminary-seed +
string-length(
substring-before($name-chars,substring($string,1,1))
)
) mod $maximum-value"/>
2010/12/10 TW <zupftom@xxxxxxxxxxxxxx>:
> I don't know whether this would give reasonably results, but what
> about generating a seed from the result of generate-id()? Maybe like
> so, calculating kind of a digit sum (based on the the order the
> variables occur in "name-chars"):
>
> <template name="create-seed">
> <param name="string" select="generate-id(.)"/>
> <param name="preliminary-seed" select="0"/>
> <param name="maximum-value" select="100"/>
>
> <variable name="name-chars"
>
select="':ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-.0123456789'"
/>
>
> <choose>
> <when test="string-length($string) != 0">
> <call-template name="create-seed">
> <with-param name="string" select="substring($string,2)"/>
> <with-param name="preliminary-seed"
> select="($preliminary-seed + string-length(
>
> substring-before($name-chars,substring($string,1,1))
> )
> ) mod $maximum-value"/>
> <with-param name="maximum-value" select="$maximum-value"/>
> </call-template>
> </when>
> <otherwise>
> <value-of select="$preliminary-seed"/>
> </otherwise>
> </choose>
> </template>
>
>
> Of course this only makes sense if you need at most one random number
> per source document node (after all, the random number will be the
> same if the seed is the same). Or you can pass the old seed as
> parameter "preliminary-seed" when you create a new seed.
>
> Thomas W.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Random number seed genera, Michel Hendriksen | Thread | Re: [xsl] Random number seed genera, Michel Hendriksen |
| Re: [xsl] Elements that inherit chi, Michael Kay | Date | Re: [xsl] Random number seed genera, Michel Hendriksen |
| Month |