1

我有一个 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>

谢谢

4

1 回答 1

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在您的输出中替换为。

于 2013-10-08T16:45:11.703 回答