xslt 1.0到HTML表空间问题

Bil*_*lly 0 html xslt

所有,

我试图在我的HTML表格的列中放置空格/缩进文本.我正在使用XSLT 1.0读取XML文件并将其写入HTML文件.我尝试过以下方法:

<?xml version='1.0' encoding='utf-16'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes" encoding="utf-16"/>

<tr>
  <td/>
  <td>
    <xsl:text xml:space="preserve">&#160;</xsl:text>
    <xsl:value-of select="concat('Substantiation-', 
                    @sourceID, ' (', current(), ')')"/>
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

在Internet Explorer中查看(从生成的html文件打开)时的结果如下所示:

 Substantiation-9010 (p 1-5, Para 1-10.)
Run Code Online (Sandbox Code Playgroud)

我也tryed &#x9;,&#x20;&#xa0;它类似的或没有结果.

我假设我有一个编码问题(感谢Michael Kay指出这一点),但是我不确定我做错了什么因为我在输出标签中指定了编码.有谁知道如何添加空格/标签,以便在IE中查看时看起来正确?

谢谢您的帮助!!!

Mic*_*Kay 5

插入&#160;字符是添加不间断空格的正确方法.但由于某种编码问题,它显示不正确 - 你正在生成一个UTF-8文件但是Internet Explorer认为它是iso 8859-1(或MS CP1252).IE获取编码错误的原因是无数(并且超出我的理解范围),但是您还没有开始向我们提供诊断它们所需的信息(我们甚至不知道这种转换是服务器端还是客户端) .

(当然,其他响应者是正确的,可能有更好的方法来实现所需的布局而不是使用NBSP字符.但如果你有编码问题,它也会影响其他角色,所以你不应该让它恶化.)