Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule

Subject: Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Fri, 16 Mar 2007 16:38:48 +0100
David Carlisle wrote:
I would like to, but, I didn't invent the algorithm. The idea was this: make a UUID from within XLST

For Dave P? (Who asked me the same qn off list a while ago:-)

Interesting. I did see the JUG attempts on the Saxon list, though.


The functional way of doing it of course is to maintain a list of all
the ones you've generated this session (or at least a count of the same)
If the function took a sequence of strings (of uuids) and returned a
sequence extended by one new one, then to generate three of the beasts
you wouldn't do
f(),f(),f()
with side effects, you'd do
f(f(f(())))
which is so much more wholesome...

Perhaps, but it requires two things: 1. input, 2. one location where you have to generate these IDs.


I don't have that luxury, I want it to be used 'out of the box', on separate places in the code and I want it to guarantee uniqueness. To quite some extend, I managed to do that, but I am missing the last bit.

But you do make an important point that I was overlooking. If I'd change the requirements to input an xs:integer that equals the amount of UUIDs needed, the user could create a pool of these UUIDs and use them.

It's not really what I wanted, but it is certainly the declarative way.

-- Abel

Current Thread