簡體   English   中英

xslt 1.0到HTML表的間距問題

[英]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">&#160;</xsl:text>
    <xsl:value-of select="concat('Substantiation-', 
                    @sourceID, ' (', current(), ')')"/>
  </td>
</tr>

在Internet Explorer(從生成的html文件打開)中查看時,結果如下所示:

 Substantiation-9010 (p 1-5, Para 1-10.)

我也嘗試過&#x9; &#x20; &#xa0; 結果相似或沒有。

我假設我有一個編碼問題(感謝Michael Kay指出了這一點),但是由於我在輸出標簽中指定了編碼,因此我不確定自己做錯了什么。 有誰知道如何添加空格/制表符,以便在IE中查看時看起來正確嗎?

謝謝您的幫助!!!

插入&#160; 字符是添加不間斷空格的正確方法。 但是由於某種編碼問題,它無法正確顯示-您正在生成UTF-8文檔,但Internet Explorer認為它是iso 8859-1(或MS CP1252)。 IE編碼錯誤的原因多種多樣(並且超出了我的理解范圍),但是您尚未開始提供診斷它們所需的信息(我們甚至不知道此轉換是服務器端還是客戶端) 。

(當然,其他響應者是對的,與使用NBSP字符相比,可能有更好的方法來實現所需的布局。但是,如果遇到編碼問題,它也會影響其他字符,因此請不要讓它潰爛。)

您可以使用CSS解決此問題:

<tr>
  <td/>
  <td>
      <span style="white-space:pre;">&#9;<xsl:value-of select="concat('Substantiation-',@sourceID, ' (', current(), ')')"/></span>
  </td>
</tr>

&nbsp; 是不間斷空格特殊的HTML字符。 旋轉一下。 或者,嘗試使用CSS在表格單元格內創建填充。 另外,如果要創建列表,請嘗試使用<ol><ul>

我無法正確顯示空格。 根據我的閱讀,此處建議的所有內容都應該起作用。 但是,這不是給我的。 我最終使用了具有透明背景的圖像。

 <img src="OnePixel.gif" width="15" height="5" align="left"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM