Hi Paul,
The formal.object.properties attribute-set is applied to formal objects, which
are numbered and titled elements including figures, tables, examples, and
equations. It is not applied to mediaobject with caption.
I think the easiest way to do this would be to customize the template that
matches on caption. It is a very short template, found in fo/graphics.xsl. I
changed it to add two keep properties to the fo:block:
<xsl:template match="caption">
<fo:block keep-with-previous.within-column="always"
keep-together.within-column="always">
<xsl:if test="@align = 'right' or @align = 'left' or @align='center'">
<xsl:attribute name="text-align"><xsl:value-of
select="@align"/></xsl:attribute>
</xsl:if>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
It seems to work in FOP.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: PC Thoms
To: [email protected]
Sent: Thursday, December 01, 2011 7:13 AM
Subject: [docbook-apps] mediaobject that will display as a block
I'm hoping to keep a <mediaobject> and <title/caption> on the same page in
the FO output to pdf.
Using Oxygenxml v13 with Saxon6.5.5 with Apache FOP.
Have tried <mediaobject> and <informalobject> without success as some of the
<title/caption> flows to the next page.
How can I avoid this?
I have
<mediaobject>
<imageobject>
<imagedata/>
<title/caption/>
</imageobject>
</mediaobject>
that I want to keep together on the same page when transformed to pdf.
Simply what I getting at the end of a pdf is the following:
<imagedata/>
page-break
<caption/>
and I want to avoid the break in between.
I have also added the formal.object.properties parameter to the list in
Oxygenxml, as it was not listed - to no avail.
With thanks
Paul