Andrew Wason writes:
> I want to copy a node in my source multiple times and assign each copy a
> unique id attribute.
...
> <xsl:apply-templates select="." mode="duplicate-node"/>
> <xsl:apply-templates select="." mode="duplicate-node"/>
> <xsl:apply-templates select="." mode="duplicate-node"/>
> <xsl:apply-templates select="." mode="duplicate-node"/>
recursion. call a named template with a parameter of 1; in the
template, do your copy (annotated with the parameter), add 1 to the
parameter, and use it as the parameter for another call of the same
template. back out when the parameter is > 4.
then again, the XT/Saxon node-set extension could also be used - make
your copies into an RTF, convert it to a node set, and iterate over it
and look at generate-id() --- I bet you get unique values.
Sebastian
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|