OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook-apps] Docbook images/graphics. Where do you keep them?

I have a pretty simple system that assumes a directory structure like this:
xml files
xml files\images
1. When I publish FO the PDF lands in "xml files".
2. When I publish HTML:
-  I set the "output" directory to "xml files\html"
- I copy the images from "xml files\images" to "xml files\html\images" by a batch file generated by XSLT <see below>
- I copy the Docbook images from where they are to "xml files\html\images\docbook_images" and point the admon.graphics.path to "images\docbook_images". As a result the "html" dir tree is portable and can go anywhere since the paths for the images are relative.
3. I have found out that MSHELP only embeds images that it needs and not the whole directory.
In a message dated 5/14/2009 8:42:33 A.M. Pacific Daylight Time, davep@dpawson.co.uk writes:
DeanNelson wrote:
> Dave,

> I do something similar also. For HTML generation, I make sure all images
> (including Docbook images) are in one place. This makes Saxon complain
> about not seeing the images, but I resolve that afterwards by copying
> the images to the publishing image directory.

So you 'plan ahead' and only have the ready for the website? I.e. not
available for the 'on disk' build?

> However, I have a lot of images in my directories that may not only be
> for HTML, because I also produce the FO/PDF and MSHELP docs.

I'm on a KISS principle here, using seperate xslt for fo and html (
and I guess mshelp, if I ever used it). For fo  I just need
the graphics accessible for the fo-pdf build.

  Since I
> don't want to copy the "whole mess" I run an XSL template on my XML
> books to output a batch file with the copying instructions as to which
> images are actually needed and leaving the rest of the "mess" behind.

Could you tell me a bit more about this please Dean?
Filter through the source XML looking for graphics (docbook graphics
as well as 'your own'?), then list them out.... then what?
Do you copy them (from where unless all relative to the source file?)
to some collecting point (or ftp them up to a given target on the website?)

I use a template file for collecting the images that are used in the book. It generates a batch file with the files named for copying. Then I run the batch as the final part of the processing. Since I maintain both Windows and Linux, a similar one is used for Linux.
I also copy the navigation images and the Docbook images in the batch file that calls this one.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text" indent="yes" doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
    <xsl:strip-space elements="*"/>
    <!-- Clear all other text templates -->
    <xsl:template match="text()"/>
    <xsl:template match="*">
    <!-- find all parent sections and dig out images -->
    <xsl:template match="imagedata|graphic">
        <xsl:text>copy "images\</xsl:text>
        <xsl:value-of select="@fileref"/>
        <xsl:text>" html\images\"</xsl:text>
        <xsl:value-of select="@fileref"/><xsl:text>"

> I also keep the filespaths in my XML relative which make portability a
> bit easier.

In the XML source? That makes the xslt easier.

This is getting interesting!

(I'm starting a write up about it btw, bare bones so far)


Dave Pawson

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]