我正在使用apache FOP使用XSL 1.0将XML转换为PDF。
我是xml节点
<ABC>This is one line
This is second line
This is third line</ABC>
我希望输出类似于节点,即
This is one line
This is second line
This is third line
但它只有一行。 那么有什么解决方案可以逃脱&#34;&amp;#xD&#34;在xsl?以下代码用于获取节点的值。
<xsl:value-of select="ABC" disable-output-escaping="yes" />
答案 0 :(得分:2)
您要查找的媒体资源是linefeed-treatment
。
将其设置为"preserve"
会将换行分隔的文本处理为单独的段落,因此像这样的块
<fo:block linefeed-treatment="preserve">A
B
C</fo:block>
将在输出中生成三行
A
B
C
答案 1 :(得分:0)
解决问题的方法是使用像
这样的分析字符串<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<xsl:analyze-string select="ABC" regex="
">
<xsl:matching-substring></xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:stylesheet>
使用我们然后在匹配时拆分并仅使用非匹配字符串的事实。