如何使用xslt转换向xml元素添加ID属性

时间:2013-09-05 09:45:49

标签: html css xml xslt

我是xml和xslt转换的新手。我需要一些建议。

基本上我已经设法使用XLTR Transformation从我的XML页面显示一系列图像。

原始xml没有与每个图像关联的ID,我无法改变xml。因此,我想知道在xslt中是否有一种方法可以在将每个图像输出到浏览器之前为其添加ID属性?因为我希望能够使用CSS单独控制每个元素/图像。

我希望这有道理吗?

xslt如下。

    <xsl:for-each select=" cars/car_type">

   <!-- <h5> <xsl:value-of select="car-type"/> </h5> -->

 <div class ="images">   
 <img>
  <xsl:attribute name="src">
    <xsl:value-of select="image"/>

  </xsl:attribute>
</img>
 </div>
    </xsl:for-each>

再次感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用generate-idhttp://www.w3.org/TR/xslt#function-generate-id)函数为输入节点生成ID,例如

<xsl:for-each select="cars/car_type">
  <div class="images">
    <img src="{image}" id="{generate-id(image)}"/>
  </div>
</xsl:for-each>

在样式表的其他位置创建CSS时,您只需确保再次处理image元素并再次使用generate-id