Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] generating unique ids [Thread Next] Re: [xsl] generating unique idsTo: xsl-list@-----.------------.--- Date: 11/3/2009 6:47:00 PM a kusa wrote:
> I am using generate-id() function to generate unique ids through out
> my document. But I am having a problem here.
>
> My output looks like this:
> <root>
>
> <step1 id="idstep_2_566">
>
> .....
> <step1>
> <step1 id="idstep_2_566">
>
>
>
> </step1>
>
> </root>
>
> Now in my xslt for template 'step1' I have a generate-id() function.
> But for some reason it generates the same id for 'step1' elements.
> How do I prevent it from generating the same id that was generated for
> the previous step1 node? Do I have to use <xsl:key>?
generate-id() will give a unique id for the context node. If that is the
same both times your template is processed then you will get the same id.
So generate-id() is useful if you have e.g.
<list>
<foo>...</foo>
<foo>...</foo>
<foo>...</foo>
</list>
in your input and then write a template for 'foo' elements in the stylesheet
<xsl:template match="foo">
<li id="{generate-id()}">
<xsl:apply-templates/>
</li>
</xsl:template>
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe@l...>
--~--
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
