如何动态命名属性?

时间:2015-02-20 14:37:59

标签: xslt

我希望从xsl获取锚标记的自定义属性。

是否可以从xml动态获取属性的名称?

以下是我的尝试:

<xsl:attribute name="<xsl:value-of select="id"/>">
   <xsl:value-of select="value"/>
</xsl:attribute>

2 个答案:

答案 0 :(得分:5)

是的,有可能。您可以将变量作为name值传递。

<xsl:variable name="attributeName" select="id"/>
<xsl:attribute name="{$attributeName}">
    <xsl:value-of select="value"/>
</xsl:attribute>

答案 1 :(得分:4)

您可以将解决方案从@Savard简化为

<xsl:attribute name="{id}">
    <xsl:value-of select="value"/>
</xsl:attribute>

或者如果您使用的是XSLT 2.0,那么

<xsl:attribute name="{id}" select="value"/>