XSL 选择样式文本和 td

Posted

技术标签:

【中文标题】XSL 选择样式文本和 td【英文标题】:XSL choose styling text AND td 【发布时间】:2019-11-13 12:59:45 【问题描述】:

我正在使用 XSLT 选择来设置单元格内容的样式。出于某种原因,它同时设置了文本和 td 的样式。如果我然后尝试用 CSS 重新着色 <td>,它只会让它完全消失。

<td>
    <xsl:attribute name="style">
        <xsl:choose>
            <xsl:when test="@status = 'OPEN'">
                <xsl:text>color: limegreen;</xsl:text>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>color: red;</xsl:text>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:attribute>
    <xsl:value-of select="@status" />
</td>

我只希望它为value-of select 着色,而不是单元格边框。

【问题讨论】:

【参考方案1】:

使用上面的代码,您正在为整个 &lt;td&gt; 着色。 如果您只想设置文本样式,请将其应用于&lt;span&gt;(或其他内容),如下所示:

<td>
    <span>
        <xsl:attribute name="style">
            <xsl:choose>
                <xsl:when test="@status = 'OPEN'">
                    <xsl:text>color: limegreen;</xsl:text>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>color: red;</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute>
        <xsl:value-of select="@status" />
    </span>
</td>

这应该只着色文本而不是边框​​。

【讨论】:

以上是关于XSL 选择样式文本和 td的主要内容,如果未能解决你的问题,请参考以下文章

CSS 的表格 td 样式

Dom文本应用-表格隔行间亮样式

扩展样式表语言-XSL

为啥 XSL 样式表显示没有 XML(信息/值)的 html 表

XSL 转换以输出许多嵌入式 XSL 样式表

xsl 转换在 .net 环境中生成 xsl 样式表