Re: [xsl] How to use generate-id() inside an xsl:function without a node availab

Subject: Re: [xsl] How to use generate-id() inside an xsl:function without a node availab
From: "Colin Adams" <colinpauladams@xxxxxxxxxxx>
Date: Tue, 27 Feb 2007 21:12:12 +0000
From: Abel Braaksma <abel.online@xxxxxxxxx>

You nevertheless brought something up: why not simply *create* the node each time again?. Here's a simple enough (but process intensive) solution:

<xsl:for-each select="(1 to 20)" >
  <xsl:variable name="id-node"><some-node /></xsl:variable>
  <some-elem id="{generate-id($id-node)}" />
</xsl:for-each>

this generates unique ids, even on recursive calling of the function (if the for-each is wrapped inside a function). Not sure this is "REC behavior", but it sure does what I want. Maybe someone can confirm that this is indeed the expected behavior and that I can rely on the method to return a unique id value within the same process.


Yes and yes.


This may also suit requirements where a random, unique value is needed, though "random" is not really what is being generated. I get: d28, d29, d30 etc.

It is only random in the sense that it depends which processor you run it upon.


_________________________________________________________________
MSN Hotmail is evolving  check out the new Windows Live Mail http://ideas.live.com


Current Thread