[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How to use generate-id() inside an xsl:function w
Florent Georges wrote:
The point is that generate-id() is not a random string generator. It generates an ID based on a node, always the same ID for the same node. If you call it without argument, the context item is used (which is indeed not possible in a function definition). Found it! 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. 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. Thanks for looking into it, Cheers, -- Abel Braaksma
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|