xsl-list
[Top] [All Lists]

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

2009-07-24 17:07:52
(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(_at_)antennahouse(_dot_)com> 
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:
...
...
    <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>
--~--




--

Ben Mendis
Support Specialist
Antenna House
10410 Kensington Pkwy
Suite 207
Kensington, Maryland 20895
USA
Phone: +1 301-942-4007
Email: ben(_at_)antennahouse(_dot_)com
Web: www.antennahouse.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>
--~--



--~------------------------------------------------------------------
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>
--~--