[英]xslt 1.0 to HTML table spacing problem
所有,
我正在嘗試在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中查看時看起來正確嗎?
謝謝您的幫助!!!
插入 
字符是添加不間斷空格的正確方法。 但是由於某種編碼問題,它無法正確顯示-您正在生成UTF-8文檔,但Internet Explorer認為它是iso 8859-1(或MS CP1252)。 IE編碼錯誤的原因多種多樣(並且超出了我的理解范圍),但是您尚未開始提供診斷它們所需的信息(我們甚至不知道此轉換是服務器端還是客戶端) 。
(當然,其他響應者是對的,與使用NBSP字符相比,可能有更好的方法來實現所需的布局。但是,如果遇到編碼問題,它也會影響其他字符,因此請不要讓它潰爛。)
您可以使用CSS解決此問題:
<tr>
<td/>
<td>
<span style="white-space:pre;">	<xsl:value-of select="concat('Substantiation-',@sourceID, ' (', current(), ')')"/></span>
</td>
</tr>
是不間斷空格特殊的HTML字符。 旋轉一下。 或者,嘗試使用CSS在表格單元格內創建填充。 另外,如果要創建列表,請嘗試使用<ol>
或<ul>
。
我無法正確顯示空格。 根據我的閱讀,此處建議的所有內容都應該起作用。 但是,這不是給我的。 我最終使用了具有透明背景的圖像。
<img src="OnePixel.gif" width="15" height="5" align="left"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.