我有一个选择下拉菜单和一个跨度,它们在 javascript 文件中分别引用为“quantity1”、“quantity2”和“price1”、“price2”等。
在 XSLT 中,我需要能够将该元素的 ID 声明为相对于循环的位置,但不能完全弄清楚如何。
<span id="price<xsl:value-of select="position()"/>/>£<xsl:value-of select="price"/>">
这不起作用(显然!),任何人都可以解释如何实现这一目标吗?
假设您在<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>
属性值模板的花括号更符合我的口味。