我正在使用XSL-FO和XML生成PDF。在文本框中,用户可以输入“1”之类的数据,然后按ENTER,然后按“2”,ENTER,“3”等。但在PDF中,输出为“1234567”。我怎样才能保留换行符?我已经尝试了 white-space-collapse ,换行处理和白色空间处理,但这没有帮助。换行(进入)虽然是XML格式。
<xsl:template match="AddCmt">
<fo:block keep-together="always"> Additional Comments
<fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm">
<fo:block wrap-option="wrap" linefeed-treatment="preserve" white-space-collapse="false" white-space-treatment="preserve">
<xsl:attribute name="id">
<xsl:value-of select="../CMT_ID"/>
</xsl:attribute>
<xsl:value-of select="../ANS_CMT"/>
</fo:block>
</fo:block-container>
</fo:block>
答案 0 :(得分:1)
它应该与以下xml一起使用(您应该添加所有属性):
<xsl:template match="AddCmt">
<fo:block keep-together="always"> Additional Comments
<fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm">
<fo:block wrap-option="wrap" linefeed-treatment="preserve" white-space-collapse="false" white-space-treatment="preserve">
<xsl:attribute name="id">
<xsl:value-of select="../CMT_ID"/>
</xsl:attribute>
<xsl:value-of select="../ANS_CMT"/>
</fo:block>
</fo:block-container>
</fo:block>
</xsl:template>
如果你的XML已经没有换行符,那么你的PDF就没有了。