Xslt apachefop问题

Xslt apachefop问题,xslt,pdf,xsl-fo,apache-fop,Xslt,Pdf,Xsl Fo,Apache Fop,我有一个应用程序,它使用ApacheFop从某个数据对象生成PDF。此数据对象是字符串属性的集合,其中一些属性可能包含非中断空格转义序列。这些转义序列编码为” ;“ 我面临的问题是PDF显示的是 而不是空格 我需要在我的PDF中显示几个空格。在我的数据中放入几个空格字符,而不是几个“ ;”转义序列,会导致渲染的单个空格太小 我不熟悉XSLT,因为另一个团队成员已经制作了样式表,所以我的理解如下 下面是我的XSLT模板的一部分 <fo:block font-siz

我有一个应用程序,它使用ApacheFop从某个数据对象生成PDF。此数据对象是字符串属性的集合,其中一些属性可能包含非中断空格转义序列。这些转义序列编码为
” ;“

我面临的问题是PDF显示的是
 而不是空格

我需要在我的PDF中显示几个空格。在我的数据中放入几个空格字符,而不是几个
“ ;”
转义序列,会导致渲染的单个空格太小

我不熟悉XSLT,因为另一个团队成员已经制作了样式表,所以我的理解如下

下面是我的XSLT模板的一部分

<fo:block
  font-size="7pt" font-weight="bold"
  linefeed-treatment="preserve" margin-left="5pt">
  <xsl:value-of
    select="drawee" />
</fo:block>

据我所知,上述文件将以“付款人”的名义向输出PDF发送输入文件中的任何内容。有时,被称为“付款人”的输入数据需要包含非中断空格,并将其指定为
 不会在PDF中生成正确的结果


有没有办法解决这个问题?

在转换过程中,可能有几个不间断的空间被压缩了。尝试:

您可以找到规范的相关部分


如果这没有帮助,那么尝试对中断进行硬编码而不是从元素中检索它可能会很有趣

<fo:block
  font-size="7pt" font-weight="bold"
  linefeed-treatment="preserve" whitespace-collapse="false" margin-left="5pt">
  <xsl:value-of
    select="start&#160;&#160;&#160;end" />
</fo:block>


旁注:如果您想在其他文本内容之间插入空白,则可能更适合使用
fo:inline
,因为
fo:block
被视为单独的段落。

“Coded as”表示按字面意思插入?看起来您正指望FOP来翻译这个XML/HTML符号。这适用于其他类似条目吗?当您将此字符作为UTF-8插入时,它是否正常工作;是应在XML文件中输入的非中断空间。我假设FOP也会将其视为一个不间断的空格
 。即使您不是编写XSLT代码的人,我们也需要查看XML输入(尤其是包含名为
drawee
的元素的部分)。FO或XSLT中实际上没有“数据对象”-请使用正确的术语来描述这一点。你是说“输入XML”还是“样式表参数”?@PatrickLucas不客气。如果它解决了你的问题,请考虑接受这个问题(标记左边的滴答声)。
<fo:block
  font-size="7pt" font-weight="bold"
  linefeed-treatment="preserve" whitespace-collapse="false" margin-left="5pt">
  <xsl:value-of
    select="start&#160;&#160;&#160;end" />
</fo:block>