-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
caporale wrote:
> I'm using FOP 0.93 and xsltproc.
>
> The XML looks like this:
>
> <orderedlist>
>
<listitem><para><inlinemediaobject/></p
ara></listitem>
> ...
> </orderedlist>
>
> This is what the output looks like:
> http://img248.imageshack.us/my.php?image=inline
mediaobjectkl4.png
>
> Is there any way I can get the list label in line with
the rest of it?
HTML
> output looks fine, and this is what I want it to look
like:
>
> http://img519.imageshack.us/my.php?image=inlin
emediaobject2xl2.png
>
> Thank you,
> Joseph Caporale
>
I was struggling with this issue as well. You'd expect
setting
valign="middle"
to do the job, i.e something like
<inlinemediaobject>
<imageobject>
<imagedata fileref = "icon.png"
valign = "middle"
/>
</imageobject>
</inlinemediaobject>
But it does not, since the FO xsl stylesheets does insert
the right
attributes into the <fo:inline> element.
Below I include a changed definition of the template
<xsl:template
name="process.image"> to get it to work (add
this chunk to your
customization layer). It might have other unexpetcted
consequences,
but solved the issue. The important part is the setting for
the
<xsl:if test=" valign"> attribute.
Best, Mads
<!--
************************************************************
********
Redefine valign such that inline icons get vertical
center.
************************************************************
******** -->
<xsl:template name="process.image">
<xsl:variable name="scalefit">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">0</xsl:when>
<xsl:when test=" contentwidth">0</xsl:when>
<xsl:when test=" contentdepth and
contentdepth != '100%'">0</xsl:when>
<xsl:when test=" scale">0</xsl:when>
<xsl:when test=" scalefit"><xsl:value-of
select=" scalefit"/></xsl:when>
<xsl:when test=" width or depth">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="scale">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">0</xsl:when>
<xsl:when test=" contentwidth or contentdepth">1.0</xsl:when>
<xsl:when test=" scale">
<xsl:value-of select=" scale div 100.0"/>
</xsl:when>
<xsl:otherwise>1.0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="filename">
<xsl:choose>
<xsl:when test="local-name(.) = 'graphic'
or local-name(.) = 'inlinegraphic'">
<!-- handle legacy graphic and inlinegraphic by new
template -->
<xsl:call-template
name="mediaobject.filename">
<xsl:with-param name="object"
select="."/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<!-- imagedata, videodata, audiodata -->
<xsl:call-template
name="mediaobject.filename">
<xsl:with-param name="object"
select=".."/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="content-type">
<xsl:if test=" format">
<xsl:call-template
name="graphic.format.content-type">
<xsl:with-param name="format"
select=" format"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="bgcolor">
<xsl:call-template
name="dbfo-attribute">
<xsl:with-param name="pis"
select="../processing-instruction('dbfo')"/>
<xsl:with-param name="attribute"
select="'background-color'"/>
</xsl:call-template>
</xsl:variable>
<fo:external-graphic>
<xsl:attribute name="src">
<xsl:call-template
name="fo-external-image">
<xsl:with-param name="filename">
<xsl:if test="$img.src.path != '' and
not(starts-with($filename, '/')) and
not(contains($filename, '://'))">
<xsl:value-of
select="$img.src.path"/>
</xsl:if>
<xsl:value-of select="$filename"/>
</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="width">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">auto</xsl:when>
<xsl:when test="contains( width,'%')">
<xsl:value-of select=" width"/>
</xsl:when>
<xsl:when test=" width and not( width =
'')">
<xsl:call-template
name="length-spec">
<xsl:with-param name="length"
select=" width"/>
<xsl:with-param name="default.units"
select="'px'"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="not( depth) and
$default.image.width != ''">
<xsl:call-template
name="length-spec">
<xsl:with-param name="length"
select="$default.image.width"/>
<xsl:with-param name="default.units"
select="'px'"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>auto</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="height">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">auto</xsl:when>
<xsl:when test="contains( depth,'%')">
<xsl:value-of select=" depth"/>
</xsl:when>
<xsl:when test=" depth">
<xsl:call-template
name="length-spec">
<xsl:with-param name="length"
select=" depth"/>
<xsl:with-param name="default.units"
select="'px'"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>auto</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="content-width">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">auto</xsl:when>
<xsl:when test="contains( contentwidth,'%')">
<xsl:value-of select=" contentwidth"/>
</xsl:when>
<xsl:when test=" contentwidth">
<xsl:call-template
name="length-spec">
<xsl:with-param name="length"
select=" contentwidth"/>
<xsl:with-param name="default.units"
select="'px'"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="number($scale) !=
1.0">
<xsl:value-of select="$scale *
100"/>
<xsl:text>%</xsl:text>
</xsl:when>
<xsl:when test="$scalefit =
1">scale-to-fit</xsl:when>
<xsl:otherwise>auto</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="content-height">
<xsl:choose>
<xsl:when test="$ignore.image.scaling !=
0">auto</xsl:when>
<xsl:when test="contains( contentdepth,'%')">
<xsl:value-of select=" contentdepth"/>
</xsl:when>
<xsl:when test=" contentdepth">
<xsl:call-template
name="length-spec">
<xsl:with-param name="length"
select=" contentdepth"/>
<xsl:with-param name="default.units"
select="'px'"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="number($scale) !=
1.0">
<xsl:value-of select="$scale *
100"/>
<xsl:text>%</xsl:text>
</xsl:when>
<xsl:when test="$scalefit =
1">scale-to-fit</xsl:when>
<xsl:otherwise>auto</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:if test="$content-type != ''">
<xsl:attribute name="content-type">
<xsl:value-of
select="concat('content-type:',$content-type)"/>
;
</xsl:attribute>
</xsl:if>
<xsl:if test="$bgcolor != ''">
<xsl:attribute name="background-color">
<xsl:value-of select="$bgcolor"/>
</xsl:attribute>
</xsl:if>
<xsl:if test=" align">
<xsl:attribute name="text-align">
<xsl:value-of select=" align"/>
</xsl:attribute>
</xsl:if>
<xsl:if test=" valign">
<xsl:attribute name="vertical-align">
<xsl:choose>
<xsl:when test=" valign =
'top'">super</xsl:when>
<xsl:when test=" valign =
'middle'">middle</xsl:when>
<xsl:when test=" valign =
'bottom'">sub</xsl:when>
<xsl:otherwise>auto</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:if>
</fo:external-graphic>
</xsl:template>
</xsl:stylesheet>
- --
+---------------------------------+-------------------------
+
| Mads Ipsen |
|
| Product Support Specialist | phone: +45-35320630
|
| Atomistix A/S | fax: +45-35320635
|
| Juliane Maries Vej 30 |
|
| DK-2100 Copenhagen | mpi atomistix.com |
+---------------------------------+-------------------------
+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGg2KLUiXEzEUa8LARAghtAJkBycuJx4rVKLctdWHP9+lgOE25GwCg
oIcD
ai9wDabaPYGdgmwDHg+SAfE=
=Bk9n
-----END PGP SIGNATURE-----
------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-apps-unsubscribe lists.oasis-open.org
For additional commands, e-mail: docbook-apps-help lists.oasis-open.org
|