1

我有一个选择下拉菜单和一个跨度,它们在 javascript 文件中分别引用为“quantity1”、“quantity2”和“price1”、“price2”等。

在 XSLT 中,我需要能够将该元素的 ID 声明为相对于循环的位置,但不能完全弄清楚如何。

<span id="price<xsl:value-of select="position()"/>/>£<xsl:value-of select="price"/>">

这不起作用(显然!),任何人都可以解释如何实现这一目标吗?

4

1 回答 1

1

假设您在<span>XSLT 转换中创建元素,您可以使用属性值模板语法。像这样:

<span id="price{position()}">£<xsl:value-of select="price"/></span>

<span>在模板或xsl:for-each构造中创建,为position()您提供您所期望的。

您还可以使用更详细的xsl:attribute构造与xsl:value-of您最初尝试的类似:

<span>
    <xsl:attribute name="id">price<xsl:value-of select="position()"/></xsl:attribute>
    £<xsl:value-of select="price"/>
</span>

属性值模板的花括号更符合我的口味。

于 2012-05-08T00:18:13.037 回答