Xml 将标题或标题与图像对齐?
我正在Ubuntu 13.04上使用DockBook4.5和ApacheFop1.1。Docbook翻译由Ubuntu提供,FOP直接从Apache下载 第一个问题:有人能告诉我如何确保图片的标题或标题与图片对齐吗?例如:Xml 将标题或标题与图像对齐?,xml,image,apache-fop,docbook,Xml,Image,Apache Fop,Docbook,我正在Ubuntu 13.04上使用DockBook4.5和ApacheFop1.1。Docbook翻译由Ubuntu提供,FOP直接从Apache下载 第一个问题:有人能告诉我如何确保图片的标题或标题与图片对齐吗?例如: Figure X: YYYYYY +---------------+ | | | Image | | | +---------------+ 我知道我可以将imagedata与以下内容对齐:
Figure X: YYYYYY
+---------------+
| |
| Image |
| |
+---------------+
我知道我可以将imagedata
与以下内容对齐:
<figure id="figure-xxx">
<title>YYYYY</title>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="xxx.png" scale="75"/>
</imageobject>
<caption>XXX/caption>
</mediaobject>
</figure>
而align=“right”
会让情况变得更糟:
Figure X: YYYYYY
+---------------+
| |
| Image |
| |
+---------------+
当我尝试将align
标记添加到图
、标题
、媒体对象
、图像对象
、或标题
,我会收到类似以下错误:
element figure: validity error : No declaration for attribute align of element figure
以及:
也许我又做错了什么。在尝试将文本环绕图像()并将标题与图像对齐(这个问题)之后,我开始怀疑DocBook是否可以在现实生活中处理图像
所以我的第二个问题是:有人知道DocBook是否支持现实生活中的图像吗
编辑:对于第二个问题的答案,问题在于ApacheFop而不是DocBook。我认为“DocBook翻译”的意思是(我认为确切的版本在这里不太重要,但它通常很重要)
您可以通过自定义formal.title.properties
属性集来解决标题对齐问题。将其添加到自定义层:
<xsl:attribute-set name="formal.title.properties">
<xsl:attribute name="text-align">
<xsl:variable name ="align">
<xsl:value-of select=".//imagedata/@align"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="self::figure and $align !=''">
<xsl:value-of select="$align"/>
</xsl:when>
<xsl:otherwise>left</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
左边
含义:如果imagedata
元素上有align
值,则将该值用作图形标题,否则使用“left”
另请参见。能否尝试设置
标签上的宽度?我不熟悉DocBook,但我确信基本的样式规则适用:?谢谢mzjn。我已经停止使用Apache的FOP。它有太多的问题(像这样,无声地丢弃浮动图像/数字)。
element mediaobject: validity error : No declaration for attribute align of element mediaobject
<xsl:attribute-set name="formal.title.properties">
<xsl:attribute name="text-align">
<xsl:variable name ="align">
<xsl:value-of select=".//imagedata/@align"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="self::figure and $align !=''">
<xsl:value-of select="$align"/>
</xsl:when>
<xsl:otherwise>left</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>