Oops..I wasn’t thinking. That will only work if all your images
are svg files…you’ll errors asking it to parse binary files :-)
Sorry for the noise,
David
From: Cramer, David W
(David) [mailto:]
Sent: Wednesday, October 20, 2010 4:13 PM
To: chris snow
Cc: ; Jim Campbell
Subject: RE: [docbook] how to throw error if imagedata not found
Hi Chris,
Btw, I ran across a potentially better answer to your question
(depending on the behavior of your xslt processor):
http://www.dpawson.co.uk/xsl/sect2/N2602.html#d3859e19
David
From: Cramer, David W
(David) [mailto:]
Sent: Wednesday, October 13, 2010 11:42 AM
To: Jim Campbell; chris snow
Cc:
Subject: RE: [docbook] how to throw error if imagedata not found
Hi Chris,
Here’s what we do:
The build runs an xslt that produces a list of images used. Ant
then checks to make sure all are the images available and kills with a useful
error message the build if any are missing. To avoid an annoying
build/fail/fix/repeat cycle, the error message shows all missing images rather
than only listing the first missing image it finds.
I think to do something like this within the xslt would require
that you write an extension/call out to java.
David
From:
[mailto:] On Behalf Of Jim
Campbell
Sent: Wednesday, October 13, 2010 11:27 AM
To: chris snow
Cc:
Subject: Re: [docbook] how to throw error if imagedata not found
Hi there, Chris,
On Wed, Oct 13, 2010 at 9:16 AM, chris snow <> wrote:
Is it possible for an error to be
thrown during processing if a file
referred to by imagedata is not found?
<mediaobject>
<imageobject>
<imagedata
fileref="../../images/coding-cycle.png"/>
</imageobject>
</mediaobject>
Many thanks,
Chris
It might not be exactly what you are looking for, but one
option would be to include the image via an xinclude mechanism, and then
include a xinclude fallback. It might go something like this:
<mediaobject>
<imageobject>
<xi:include
fileref="../../images/coding-cycle.png">
<xi:fallback>Image file
is unavailable.</xi:fallback>
</xi:include>
</imageobject>
</mediaobject>
You would need to use a DTD or schema (or at least a
DTD fragment) that allows for use of xinclude.
I hope this helps,
Jim