Re: [xsl] How to use generate-id() inside an xsl:function without a node available?

Subject: Re: [xsl] How to use generate-id() inside an xsl:function without a node available?
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 28 Feb 2007 09:45:13 +0000
On 2/28/07, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> I found that when using generate-id() with LREs, it creates
> increasing numbers, preceded by 'd'. When using source nodes,
> something else happens. I know from the specs, that an
> implementation can choose its own way of creating the ID. But
> a (longer) while ago, I remember to have seen an explanation
> of the algorithm used, but today I can't find it anymore
> (searched the Net, saxonica.com, the faq and both of your
> reference books).

You're referring of course to the Saxon algorithm - each processor can do
this its own way.

I don't think the Saxon algorithms are documented anywhere.

I'm sure Saxon used to generate consistent id's across transformation runs along the lines of "d01e01" where d roughly meant document and e meant element - I'm sure I used to rely (wrongly) on the consistency and then had to create my own count after the algorithm changed - somewhere around early version 7. There were also (iirc) some conversations about how "d" couldn't be consistent if the document came from a Stream... Maybe Abel's read those posts somewhere?

Current Thread