| Newsgroups |
gmane.text.xml.xsl.general.mulberrytech |
| Message-ID |
<[email protected]> |
I was wondering about this requirement a few days ago, as it happens.
One approach might be to add an extra "method" to the object returned by fn:random-number-generator.
If you don't like extension functions then an alternative now we have first-class functions is to construct an XDM function object in the calling application and pass it in to the stylesheet as a global stylesheet parameter. The function in this case might be a function that takes a random xs:double and delivers a random UUID. You could then call this function supplying random numbers generated using fn:random-number-generator.
To construct your own XDM function object in the calling application, implement net.sf.saxon.expr.Callable and wrap your implementation in a s9api XdmFunctionItem.
Michael Kay
Saxonica
> On 10 Nov 2020, at 16:36, Piez, Wendell A. (Fed) [email protected] <[email protected]> wrote:
>
> XSL Friends –
>
> Today I write from the day job, where I am researching the question of how can I go about producing random UUIDs, in dozens or hundreds, inside an XSLT pipeline, without extension functions in Saxon. The Java randomUUID() function works nicely when it’s available, but I need to distribute the capability for SaxonHE and eventually SaxonJS.
>
> We do not have an available implementation of RFC 4122 v4 “random UUID” in pure XSLT do we, free to use (and study)? I know the functional nature of the language makes randomness, um, problematic (when isn’t it?), which sometimes means workarounds – that’s all fine. Indeed so would calling out to a web service if it is known to be reliable. I have thought about handing a list of UUIDs in at runtime, but as I said, there may sometimes be hundreds and perhaps thousands, which makes that approach seem a bit scary.
>
> Any thoughts or perspective would be most welcome.
>
> Thanks, Wendell
>
>
>
> XSL-List info and archive
> EasyUnsubscribe (by email)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--