如何防止XSLT将 
替换为&#nbsp;
input.xml中
<span style='font:7.0pt "Times New Roman"'>     
的Output.xml
<span style="font: 7.0pt&#34;Times New Roman&#34;"> &nb
如果我使用<xsl:output method="xml"/>
,那么 
将替换为我想要避免的。
output.xml with method =“xml”
<span style="font: 7.0pt&#34;Times New Roman&#34;">Â Â Â Â Â Â Â Â Â
另外如何防止它用&#34;
我正在尝试在链中使用多个XSLT文件,但首先XSLT会像上面所示那样混淆代码。
我还使用以下代码允许我在原始HTML中使用&#nbsp;
,但我不知道如何将其放入生成的XML文件中,在这种情况下我不会让{{1}在output.xml中
&#nbsp;
我一直试图解决这个问题几个小时。
答案 0 :(得分:2)
如果输出方法是HTML,Saxon只会将
注入输出。如果管道中的后续步骤期望XML,那么显然不应该这样做。但是如果随后的步骤需要XML,那么他们应该没有任何困难,因为NBSP角色本身就会出现(未转义)。
Saxon当然不会将NBSP输出为“”,但是如果您使用不了解UTF-8的软件查看它,它将输出一个看起来像“”的UTF-8字符。
如果你想更多地控制非ascii字符(你实际上不需要)的表示,那么你可以尝试设置encoding =“us-ascii”,或者你可以尝试saxon:character-representation属性在xsl:output中。
答案 1 :(得分:1)
如果我使用
<xsl:output method="xml"/>
,则替换为Â 我也想避免。
尝试:
<xsl:output method="xml" encoding="ascii"/>