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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--