DITA 和 XSL-FO 错误渲染边框

DITA and XSL-FO wrong rendering border

我已经生成了这样的 xsl-fo: http://pastebin.com/mQJq6tyB

它基本上是放在 <dd> 标签中的注释(在 dita 文件中)。问题是,当文本超过 3 行时,当它被渲染时,它会在文本上渲染额外的边框线。当我尝试完全在 <dlentry> 之外渲染相同的音符时,它渲染得很好。

也许我在样式中遗漏了一些东西,我看不出是什么原因造成的(虽然我检查了这几次,但我没有看到任何奇怪的东西),或者可能是 xsl-fo 本身的一些问题?还是Dita-OT2.0.1?我真的不知道,所以我想问一下。

我正在使用 org.dita.pdf2 插件,还有我自己的插件会覆盖一些样式。

哦 - 示例中的文本“...tijdelijk...”上方有几行。

这似乎是 Apache FOP 中的错误。如果您想尝试解决此问题,请将 border-bottom-* 和 border-top-* 属性移动到 table-cell 而不是 table 单元格内的块。

        <fo:table-cell start-indent="0pt" padding-bottom="5pt" padding-top="5pt" text-align="justify" border-bottom-style=" solid" border-bottom-width="1pt" border-bottom-color=" #000000" padding="1.9pt" border-top-style=" solid" border-top-width="1pt" border-top-color=" #000000" >
        <fo:block font-family="helveticaNeueLTStdThinIt" font-size="10pt" padding-top="3pt" padding-bottom="2pt" margin-top="3pt" margin-bottom="3pt" page-break-inside="avoid" page-break-before="avoid" page-break-after="avoid" 
            margin-left="2cm" >
            <fo:inline start-indent="0cm">
                <fo:inline float="left" clear="both" height="20px" margin-top="0px" padding-left="0cm" margin-left="0px" page-break-before="avoid" page-break-after="avoid"/>
            </fo:inline>tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk  tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk tijdelijk  </fo:block>
    </fo:table-cell>

更接近你想要的。您需要相应地调整间距。或者在该单元格内放置一个 table 并在其上加边框。