I tend to agree. This will leave the original code less cluttered. On
the other hand, avoiding an extra pass is also cool.
We could pass position() as a tunneled parameter from the inner grouping
to the apply-templates and make IDs unique by appending this position
parameter (preceded by some glue string, for ex. '__'). But then we need
to also adjust the references. We could automatically append '__1' to
each reference so that it will point to the first occurrence of the
original ID in the split document.
Gerrit
On 18/04/2018 23:27, Eliot Kimber ekimber(_at_)contrext(_dot_)com wrote:
The only refinement I had to add was a post-process to remove duplicate IDs. I
couldn't immediately think of a way to determine that a give @id attribute was
being handled for the first time during the split process, so easier to just
filter out duplicates as a follow-on process.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--