2014-12-23 39 views
0

我有一張通過XSLT呈現的表格。問題是,如果沒有數據爲@station變量,我需要一個帶有邊界的空單元格,就像在td的CSS中存在的一樣,但是如果沒有數據,它不會呈現邊框。如果td中有數據,它會渲染邊界。有人可以告訴我,如果我需要有邊界,無論td中的數據如何,我需要做什麼。表格在XSLT中無法正確顯示

<xsl:template match="version"> 
    <tr> 

    <td nowrap="true" style="border-top:1px solid black;border-right:1px solid black;border-bottom:1px solid black"> 
     <content><xsl:value-of select="@station"/></content> 
    </td> 

    </tr>  
</xsl:template> 

感謝

回答

0

你可以的情況下,站添加&nbsp;爲空或不存在:

<xsl:template match="version"> 
    <tr> 
    <td nowrap="true" style="border-top:1px solid black; 
     border-right:1px solid black;border-bottom:1px solid black"> 
     <content> 
     <xsl:value-of disable-output-escaping="yes" 
      select="if(@station and not(@station ='')) then @station 
        else '&amp;nbsp;'"/>  
     </content> 
    </td> 
    </tr>  
</xsl:template> 

由於可能有更好的解決方案,根據您的設置,您可以檢查各種這裏的建議:using a html entity in xslt (e.g. &nbsp;)
一個不同的方法是使用CSS來解決這個問題:如果你想添加

empty-cells: show; 

td的邊框應顯示的樣式。
如果您想要顯示所有空白單元格的邊框,只需將樣式設置爲周圍的表格即可。你可以檢查這裏給出的各種建議:CSS to make an empty cell's border appear?,但必須考慮瀏覽器的兼容性。

僅供參考:https://developer.mozilla.org/en/docs/Web/CSS/empty-cells