所有
我正在尝试在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"> </xsl:text>
<xsl:value-of select="concat('Substantiation-',
@sourceID, ' (', current(), ')')"/>
</td>
</tr>
在Internet Explorer中查看(从生成的html文件打开)时的结果如下所示:
 Substantiation-9010 (p 1-5, Para 1-10.)
我还试过	
, 
和 
它有相似或没有结果。
我假设我有编码问题(感谢Michael Kay指出这一点),但是我不确定我做错了什么,因为我在输出标签中指定了编码。有没有人知道如何添加空格/标签,以便在IE浏览器中看起来正确?
感谢您的帮助!!!
答案 0 :(得分:5)
插入 
字符是添加不间断空格的正确方法。但由于某种编码问题,它显示不正确 - 您正在生成UTF-8文档,但Internet Explorer认为它是iso 8859-1(或MS CP1252)。 IE获取编码错误的原因是无数(并且超出我的理解范围),但您还没有开始向我们提供诊断它们所需的信息(我们甚至不知道这种转换是服务器端还是客户端)
(当然,其他响应者是正确的,可能有更好的方法来实现所需的布局而不是使用NBSP字符。但如果你有编码问题,它也会影响其他字符,所以你不应该让它恶化。)
答案 1 :(得分:0)
您可以使用CSS来解决此问题:
<tr>
<td/>
<td>
<span style="white-space:pre;">	<xsl:value-of select="concat('Substantiation-',@sourceID, ' (', current(), ')')"/></span>
</td>
</tr>
答案 2 :(得分:0)
是不间断的空格特殊HTML字符。给那个旋转。或者,尝试使用CSS在表格单元格中创建填充。或者,如果您要创建列表,请尝试使用<ol>
或<ul>
。
答案 3 :(得分:0)
我无法正确显示空格。从我读到的内容中提出的所有建议都应该有效。但是,这不适合我。我最终使用了透明背景的图像。
<img src="OnePixel.gif" width="15" height="5" align="left"/>