改变每个区域的颜色

时间:2012-04-02 20:32:44

标签: xml

如果单元格中有值,我想以某种方式将区域淡化为浅蓝色或浅绿色。否则,我想保持白色。我该怎么做呢?例如,在下面的代码中,如果有一个没有ID的宠物,我想将该宠物的ID细胞保留为背景颜色的白色。否则,如果宠物有ID,我想将该宠物的ID细胞更改为浅蓝色。

以下是我的代码:

<xsl:for-each select="Pets/Pet">
        <TR>

            <TD BGCOLOR = "LIGHTBLUE">
                <FONT FACE = "COURIER" COLOR = "BLUE">
                <xsl:value-of select="PetID"/></FONT>
            </TD>
            <TD BGCOLOR = "LIGHTGREEN">
                <FONT FACE = "COURIER" COLOR = "BLUE">
                <xsl:value-of select="PetColorCode"/></FONT>
            </TD>
        </TR>
</xsl:for-each>

1 个答案:

答案 0 :(得分:1)

您可能需要以下内容。我没有测试过这段代码但是如果你发布一些XML示例

    <xsl:choose>
        <xsl:when test="string-length(PetId) > 0">
            <TR>
                <TD BGCOLOR="LIGHTBLUE">
                    <FONT FACE="COURIER" COLOR="BLUE">
                        <xsl:value-of select="PetID"/>
                    </FONT>
                </TD>
                <TD BGCOLOR="LIGHTGREEN">
                    <FONT FACE="COURIER" COLOR="BLUE">
                        <xsl:value-of select="PetColorCode"/>
                    </FONT>
                </TD>
            </TR>
        </xsl:when>
        <xsl:otherwise>
            <TR>
                <TD BGCOLOR="WHITE">
                    <FONT FACE="COURIER" COLOR="BLUE">
                        <xsl:value-of select="PetID"/>
                    </FONT>
                </TD>
                <TD BGCOLOR="WHITE">
                    <FONT FACE="COURIER" COLOR="BLUE">
                        <xsl:value-of select="PetColorCode"/>
                    </FONT>
                </TD>
            </TR>
        </xsl:otherwise>
    </xsl:choose>