xsl-list
[Top] [All Lists]

Re: [xsl] Re: question on random numbers for browser XSLT

2009-07-24 17:01:17
If you have decided to go with a service providing random numbers then
xslt-ish way (set based) to do it would be a service receiving a number and
returning an xml with a specified number of random numbers.


Using a service to provide a random sequence is much more unreliable
and inefficient than just doing this in pure XSLT, as this has been
done by FXSL for many years:

   
http://fxsl.sourceforge.net/articles/Random/Casting%20the%20Dice%20with%20FXSL-htm.htm


-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play



On Fri, Jul 24, 2009 at 1:48 PM, Vladimir
Nesterovsky<vladimir(_at_)nesterovsky-bros(_dot_)com> wrote:
If you have decided to go with a service providing random numbers then
xslt-ish way (set based) to do it would be a service receiving a number and
returning an xml with a specified number of random numbers.
--
Vladimir Nesterovsky
http://www.nesterovsky-bros.com/


To Ben:
The cache-append idea was my first thought, but I couldn't think of a

good

way to pull together how to have each request be unique. It's possible
using node-set(), though:
...
...
   <xsl:choose>
     <xsl:when test="function-available('exsl:node-set')">
       <xsl:value-of select="document(concat('/cgi-bin/rand.pl?',

$scale,

'&amp;x=', generate-id(exsl:node-set($seed))))" />
     </xsl:when>
     <xsl:when test="function-available('msxsl:node-set')">
       <xsl:value-of select="document(concat('/cgi-bin/rand.pl?',

$scale,

'&amp;x=', generate-id(msxsl:node-set($seed))))" />
     </xsl:when>
...

I tried your solution and after replacing '&amp;x=' with '+' it directly
worked on my local web server!
(I did not know that generate-id works in a browser)

But as already posted it did not work after installed on my real webserver
because that does not have enough power to handle the six document opens.

Btw, I really like the solution of David Carlisle to provide exslt:node-set
for IE browsers (and not having to deal with exslt/msxml):
http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--