如何限制从以 xsl 作为参考的 xml 呈现的 html 表格数据的列宽

How to limit the column width for the html tabular data that is rendered from xml that has xsl as reference

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
<body>
<h2>RTCP STUB STATUS</h2>
<table border="1">
<tr bgcolor="#9acd32" >
<th>Stub Component</th>
<th>Stub Name</th>
<th>Stub Operation</th>
<th>Stub Version</th>
<th>Stub Status</th>
</tr>
<xsl:for-each select="//stub">
<tr>
<td><xsl:value-of select="@component" /></td>
<td><xsl:value-of select="@name" /></td>
<td><xsl:value-of select="@operation" /></td>
<td><xsl:value-of select="@version" /></td>
<td><xsl:for-each select="instances/instance">
<xsl:value-of select="@status"/>
<xsl:value-of select="'&#160;'"/>
</xsl:for-each>
</td> 
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

现在,当我 运行 以上面的 xsl 作为参考的 XML 时,可以完美地获得表格 html 输出,但是对于组件名称太长的几行屏幕变得可以从左向右滚动,并且以这种方式导航和滚动并不好。 如果有人能让我知道如何限制呈现的 html 输出的列大小,我将不胜感激。我的第一列组件本身从左到右覆盖了整个屏幕。

谢谢, 阿什莉

您需要为 table 输出的 html 格式添加一些样式规则。像这样将样式 sheet 添加到您的 html(我没有显示您样式的任何不相关部分sheet)

<html>
    <head>
        <style type="text/css">
            table {table-layout: fixed; width: 100%;}
            td {width: 20%; word-wrap: break-word;}
        </style>
   </head>
   <body>

这些额外的样式规则导致 table 填充 window 并且每个单元格为 window 宽度的 20%(您可以根据需要进行调整)。单元格中放不下的单词 broken/wrapped 到下一行。