docbook-apps

  • 1.  Assemblies and Directories

    Posted 11-15-2022 04:35
    With DITA topics and a DITA bookmap, I can easily have topics in logical directories and create a pdf target that works.

    I tried doing the same thing in a Docbook Assembly and encountered problems. I put the Docbook topics in various subdirectories which basically corresponded to chapter titles. If any of the Docbook topics had relative references to images, crossrefs, etc, these no longer worked when I made an assembly target, as it created a new "Untitiled.xml" file where the references and cross-references were no longer correct. Rather than just dumping all the docbook topics together in the same directory as the docbook assembly, is there a way of working so that the links don't get broken?


  • 2.  Re: [docbook-apps] Assemblies and Directories

    Posted 11-15-2022 20:07
    Hi,

    The DocBook XSL stylesheets have some of the machinery for correcting
    relative references from an assembled document, but there is a piece not
    yet implemented.

    Before the assembly element was added to DocBook, people used XInclude
    to create a document from modular source files located in different
    directories.  The XInclude processor adds an xml:base attribute to the
    root of an element pulled from another directory to indicate where it
    came from in the source files.  The DocBook XSL stylesheets know how to
    resolve such nested xml:base attributes to fix relative references to
    graphics and cross references in the assembled document.

    So assemble.xsl would need to be modified to insert xml:base attributes
    in the temporary document it assembles.  The information for xml:base
    would come from the resource elements in the assembly.  Then when the
    temporary document is processed the relative references would be merged
    with the xml:base information to produce the correct output.

    I'd be interested in helping with this if you can provide testing. It is
    certainly a feature that is needed.

    Bob

    On 11/14/2022 8:34 PM, Philo Calhoun wrote:
    > With DITA topics and a DITA bookmap, I can easily have topics in
    > logical directories and create a pdf target that works.
    >
    > I tried doing the same thing in a Docbook Assembly and encountered
    > problems. I put the Docbook topics in various subdirectories which
    > basically corresponded to chapter titles. If any of the Docbook topics
    > had relative references to images, crossrefs, etc, these no longer
    > worked when I made an assembly target, as it created a new
    > "Untitiled.xml" file where the references and cross-references were no
    > longer correct. Rather than just dumping all the docbook topics
    > together in the same directory as the docbook assembly, is there a way
    > of working so that the links don't get broken?