2012-04-02 53 views
0

我想要一种方法,如果单元格中有一个值,只需将浅蓝色或浅绿色区域着色。否则,我想保持它白色。我该怎么做呢?例如,在下面的代码中,如果有一个没有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

你可能要像下面这样。我还没有测试过这个代码,但我会如果你发布一些例子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>