Subject: Re: [xsl] question about generate-id()|
From: ac <ac@xxxxxxxxxxxxx>
Date: Fri, 06 Aug 2010 08:18:55 -0400
There are many uses for generate-id() apart from generating an id for an @id or @xml:id.On Thu, 5 Aug 2010 10:11:06 +0100 (IST) "Tony Graham"<Tony.Graham@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Possibly not everybody uses @id to mean an ID, plus there's plenty of
other attributes, such as @name, that may or may not be IDs. The only
attribute that is guaranteed to be an ID is @xml:id, and that
postdates XSLT 1.0 by about six years.
In which case it is badly|wrongly named. I'd like to ask James about the intention. I'm pretty sure it was for (what is now) xml:id 'generate-random-name'?
You could do it yourself16.6.4 There is no guarantee that a generated unique identifier will be distinct from any unique IDs specified in the source document.
Yuk. IMHO that's a spec weakness. More constrained, surely
it's not rocket science to implement.
Which would IMHO be a kludge to work round a spec weakness. Yes. Lots of ways to do it as this thread has shown.
In this brave new world of streaming XSLT, you might not see the
existing ID value until after you've generated what would be a
Even with a large document I'm pretty sure it's possible to pull any (xml:)id values - from the source, not the built output to check for uniqueness.