Re: [xsl] question about generate-id()

Subject: Re: [xsl] question about generate-id()
From: Dave Pawson <davep@xxxxxxxxxxxxx>
Date: Fri, 6 Aug 2010 08:36:58 +0100
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'?


> 
> > 16.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.
> 
> You could do it yourself

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
> duplicate ID.

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. 



-- 

regards 

-- 
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk

Current Thread