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

Subject: Re: [xsl] Re: question on random numbers for browser XSLT
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Fri, 24 Jul 2009 14:07:23 -0700
> (Of course, I can't think of a practical
> argument for using XSLT 2.0 instead of Perl for this service, other than
> to say you did.)

It is a very practical argument: Not to depend on the existence of, or
knowledge of Perl, or of any other language, for that purpose.

And if there is a suitable function or template already available in
pure XSLT, this code will run on any compliant XSLT processor. Also,
whoever needs a random sequence, will just have to use that
function/template immediately as contrasted with having to implement
the functionality.


--
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:59 PM, Ben Mendis<ben@xxxxxxxxxxxxxxxx> wrote:
>
> Vladimir Nesterovsky 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/
>>
> That's similar to what you would get from random.org. In this case
> making a call to random.org is not an option, but there is no reason why
> you couldn't add that functionality to the Perl script. And thinking
> about it, there's no reason that script has to be Perl. If you want 100%
> Pure XSLT it could be an XSLT 2.0 script since it would be executing on
> the server, not the client. (Of course, I can't think of a practical
> argument for using XSLT 2.0 instead of Perl for this service, other than
> to say you did.)
>>
>>> 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:
>>> ...
>>> ...
>>> B  B  <xsl:choose>
>>> B  B  B  <xsl:when test="function-available('exsl:node-set')">
>>> B  B  B  B  <xsl:value-of select="document(concat('/cgi-bin/rand.pl?',
>> $scale,
>>> '&amp;x=', generate-id(exsl:node-set($seed))))" />
>>> B  B  B  </xsl:when>
>>> B  B  B  <xsl:when test="function-available('msxsl:node-set')">
>>> B  B  B  B  <xsl:value-of select="document(concat('/cgi-bin/rand.pl?',
>> $scale,
>>> '&amp;x=', generate-id(msxsl:node-set($seed))))" />
>>> B  B  B  </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
>>
>>
>>
>
> --
>
> Ben Mendis
> Support Specialist
> Antenna House
> 10410 Kensington Pkwy
> Suite 207
> Kensington, Maryland 20895
> USA
> Phone: +1 301-942-4007
> Email: ben@xxxxxxxxxxxxxxxx
> Web: www.antennahouse.com

Current Thread