Hi Chris,
Rendering two images side-by-side in FO output is not expected behavior. The
selection process takes into account all the allowed objects:
<xsl:template name="select.mediaobject.index">
<xsl:param name="olist"
select="imageobject|imageobjectco
|videoobject|audioobject|textobject"/>
...
You say you got both the .svg and the .png image in your FO output? I copied
and pasted your example into a test file and processed it with the stock 1.76.1
stylesheet and I got just the .svg image.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: Chris Ridd
To: [email protected]
Sent: Thursday, September 29, 2011 3:29 AM
Subject: [docbook-apps] Image callouts and roles
I'm using role attributes and the docbook stylesheets (successfully) to use
one image format when rendering to FO, and other when rendering to HTML (i.e.
epub).
<figure xml:id="foo"><title>Foo</title>
<mediaobject>
<imageobject role="fo">
<imagedata fileref="images/DIT-local.pdf"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="images/DIT-local.png"/>
</imageobject>
</figure>
However I have a couple of images using callouts, and using roles like that
doesn't seem to work:
<screenshot>
<mediaobject>
<imageobjectco role="fo">
<areaspec>
<area coords="50,443,129,463"
xml:id="Setting_Up_init_user"/>
</areaspec>
<imageobject>
<imagedata fileref="images/MVC-DIT-structure.svg"
scale="50"/>
</imageobject>
</imageobjectco>
<imageobject role="html">
<!--
<areaspec>
<area coords="50,443,129,463"
xml:id="Setting_Up_init_user"/>
</areaspec>
-->
<imagedata fileref="images/MVC-DIT-structure.png" scale="50"/>
</imageobject>
</mediaobject>
</screenshot>
The SVG is just a wrapper that references the similarly named PNG and then
adds some callout bugs.
Rendering that to FO results in two images side-by-side. Not sure if that's a
bug, or expected behaviour. It isn't what I want though.
However if I change the second imageobject to an imageobjectco, which seems
the logical structure, the <area> is problematic - I have a single calloutlist
that needs to refer to the "same" callout in either image. And I can't have two
<area>s with have the same xml:id :-(
I hate image callouts! :-)
Is there a more correct way to organize my two alternate images?
Cheers,
Chris