2013-10-27 57 views
-1

我正在調用一個xsl模板,在這個模板中構建一個表格。我想有條件地設置表的顏色取決於param中的值。有什麼建議麼 ?將參數傳遞給一個xsl模板

Ex。

<xsl:template match="sometemplate"> 
    <xsl:param name="bgcolor" select="'black'"/> 
    <table> 
     <!-- I have to set the background color of this tr depending on the value of bgcolor --> 
     <tr> 
      <td> 
       <!-- Do Something --> 
      </td> 
     </tr> 
    <table> 
</xsl:template> 

<xsl:template match="callingTemplate"> 
    <xsl:apply-templates select="sometemplate"> 
     <xsl:with-param name="bgcolor" select="'white'"/> 
    </xsl:apply-templates> 
</xsl:template> 

回答

1

您可以在此處使用屬性值模板。更換<tr>本:

<tr style="background-color:{$bgcolor}"> 

大括號指示要計算的表達式,而不是字面直接輸出,所以它會與你傳遞給模板任何顏色的名稱來代替。例如:

<tr style="background-color:white">