[XSL-LIST Mailing List Archive Home]
[Reply To This Message]
Re: How to use generate-id() inside an xsl:function w
Subject: Re: 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?
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format