Re: [xsl] generate-id() explanation

Subject: Re: [xsl] generate-id() explanation
From: a kusa <akusa8@xxxxxxxxx>
Date: Mon, 24 May 2010 13:55:53 -0500
That explains it! Thanks so much! It was a bug in the other part of
the code that was calling the same list2 element.

Thanks again in helping me understand this definition and usage.

On 5/24/10, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > Sorry about that. I tried this on one of my files, and ran
> > the transformation using saxon. But it generated the same ids
> > for two nodes in the same XML file. In my program I use
> >
> > <list2 id="{generate-id(.)}">
> >
> > That's the reason I asked again. I wanted to make sure I was
> > understanding this correctly.
> > Does it matter if you say generate-id(.) or just generate-id()?
>
> No, if you omit the argument then it defaults to the context node.
>
> I see now where your problem lies. generate-id() produces a unique ID for
> the node supplied as the argument. It knows nothing about nodes in the
> output document. If you generate two nodes in the output from a single node
> in the input, then generate-id(.) will produce the same value twice.
>
> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay

Current Thread