在ad hoc css中嵌入XSL源节点

时间:2014-03-22 15:05:30

标签: css xslt

我有这个XSL源节点:

<xsl:value-of select="Colour"/>  -->  #00FF00

我基本上想要完成的是:

<xsl:for-each select="//Collection/DVD">
  <tr style="background-color: #00FF00;">
  ...
  </tr>
</xsl:for-each>

我试过这个:

<xsl:text>&lt;tr style=&quot;background-color: </xsl:text><xsl:value-of select="Colour"/><xsl:text>;&quot;&gt;</xsl:text>

但是&lt; tr实际上是在浏览器中输出的。

我也不能这样做:

<xsl:text><tr style="background-color: </xsl:text><xsl:value-of select="Colour"/><xsl:text>;"></xsl:text>

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

对此属性使用xsl:attribute

<xsl:for-each select="//Collection/DVD">
  <tr>
     <xsl:attribute name="style">
     <xsl:text>background-color: </xsl:text>
     <xsl:value-of select="Colour"/>
     <xsl:text>;</xsl:text>
     </xsl:attribute>
  <!--...-->
  </tr>
</xsl:for-each>

您可能需要稍微调整此解决方案 - 具体取决于您的输入XML。就像现在一样,它仅在DVD元素在您的输入中具有子元素Colour时才有效。

请注意,xsl:value-of 不是 XSLT中的变量。它用于选择节点。