I'm asking because I'm considering a proposed implementation of <transform>. If there's a better way to make reused module IDs unique, I'd prefer to use that. But maybe implementing transform this way would be generally helpful?
More context:
I am trying to construct a DocBook 5.1 book with a reused module. The content in the module is required in more than one place in the book and I don't want to rely on cross-references to a single copy of the content. That would disrupt the reader's context in this large document.
Reusing a module in the same structure works just fine until the referenced topic content includes an xml:id value. Then the resulting DocBook book is invalid because of duplicate IDs.
Here's an example of the DocBook <assembly> I want to use:
<?xml version="1.0" encoding="UTF-8"?>
<assembly version="5.1">
 <resources xml:id="myResources">
  ...
 </resources>
 <structure renderas="book" xml:id="myGuide">
  <module renderas="chapter" resourceref="myTopLevelSectionIntro">
   <module renderas="section" resourceref="myTopicOne" />
   <module renderas="section" resourceref="myTopicOne">
    <merge><title>A repeated topic</title></merge>
    <!-- The output element transforms the resourceref topic as
      Âdefined by the named transform element. -->
    <output transform="makeModuleIdValuesUnique"/>
   </module>
  </module>
 </structure>
 <transforms>
  <!-- The XSLT in this transform copies all nodes, and also prepends
    Âa unique value to each of the xml:id values it copies. Â-->
  <transform href="">       Âname="makeModuleIdValuesUnique"/>
 </transforms>
</assembly>
Thanks for your help!
Peter