我有一个通过XSLT呈现的表。问题是如果没有@station变量的数据,我需要一个带有边框的空单元格,因为它存在于td的CSS中,但是如果没有数据则它不会渲染边框。如果td中有数据,它会渲染边框。有人可以告诉我,如果我需要有边框而不管td中的数据是什么我需要做什么。
<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 :(得分:0)
您可以添加
以防万一该站为空或不存在:
<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 '&nbsp;'"/>
</content>
</td>
</tr>
</xsl:template>
由于可能有更好的解决方案,您可以在此处查看各种建议:using a html entity in xslt (e.g. )
一种不同的方法是使用CSS解决这个问题:如果你要添加
empty-cells: show;
要显示边框td
的样式
如果要显示所有空单元格的边框,将样式设置为周围表格甚至可能更容易。您可以查看此处给出的各种建议:CSS to make an empty cell's border appear?但必须考虑浏览器的兼容性。
供参考:https://developer.mozilla.org/en/docs/Web/CSS/empty-cells