使用XML / XSL解析器定义CSS样式

时间:2013-10-08 15:29:22

标签: html css xml xslt

我有一个XSL / XML解析器来生成HTML代码。

xml是这样的。

<root>
  <a>
   <url> http://image.jpg </url>
   <x> 100 </x>
   <y> 200 </y>
   ...
  </a>
</root>

和XST应该是这样的。我希望在样式中使用xml节点的值定义背景URL。我该怎么办?

<xsl:template match="root">
   <xsl:for-each select="a">
    <div class="crop_image" style="background:url("<xsl:value-of select="url"/>") -<xsl:value-of select="x"/>px -<xsl:value-of select="y"/>px">"</div>
  </xsl:for-each>
</xsl:template>

由于

1 个答案:

答案 0 :(得分:2)

您正在寻找的是“属性值模板”,它允许您将XML中的值直接写入属性

<xsl:template match="root">
  <xsl:for-each select="a">
    <div class="crop_image" style="background:url({url}) -{x}px -{y}px">"</div>
  </xsl:for-each>
</xsl:template>

花括号表示要计算的表达式,而不是字面输出,因此{url}例如将在输出中替换为http://image.jpg