没有 space 之间的 XSL FO 内联

XSL FO inline without space between

我正在尝试使用彼此相邻的内联块制作 pdf。出于某种原因我暂时无法理解它似乎在输出之间放置 spaces 如果什么都没有,例如(我选择了文本以更好地显示): <fo:inline>I</fo:inline><fo:inline>I</fo:inline> 结果: example 1 奇怪的是,两个 space 之间的文本消失了: <fo:inline>I</fo:inline>I<fo:inline>I</fo:inline> example 2

最后,我想通过 xslt 转换从不确定数量的 blox 中生成 pdf,以便能够得到这样的结果: strangely formated output 在单词中间加上 space 是不行的。

编辑:为了更精确,我通过以下方式生成这些元素:

<xsl:for-each select="./*"><fo:inline><xsl:value-of select="."/></fo:inline></xsl:for-each>

<xsl:for-each select="./*"><fo:inline><xsl:value-of select="."/></fo:inline>I</xsl:for-each>

节点包含 "I"s。但我通过尝试手动生成得到了相同的结果。 试过: space 节点之间,全部在一起(节点之间没有 space)和评论。

尝试像这样引入一个空评论:

<fo:inline>I</fo:inline><!--
--><fo:inline>I</fo:inline>

我最终找到了解决方法(我不确定这是一个多么艰难的好方法,所以我更喜欢 post 它作为 "an answer instead of " 答案”) 如果我把标签:

<fo:block font-size="0px">
</fo:block>

在我的内联标签周围,然后为我的标签添加一个实际大小,我得到了我想要的结果。 一边连补充的I字纸尿裤都没有,不能再选了。我想 XSL-FO 的过程需要更多地被视为 "printing" 然后是文本编辑。