如何动态命名属性?

use*_*187 5 xslt

我正在寻找从xsl获取锚标记的自定义属性。

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

这是我尝试的:

<xsl:attribute name="<xsl:value-of select="id"/>">
   <xsl:value-of select="value"/>
</xsl:attribute>
Run Code Online (Sandbox Code Playgroud)

Jea*_*ard 6

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

<xsl:variable name="attributeName" select="id"/>
<xsl:attribute name="{$attributeName}">
    <xsl:value-of select="value"/>
</xsl:attribute>
Run Code Online (Sandbox Code Playgroud)


Mic*_*Kay 5

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

<xsl:attribute name="{id}">
    <xsl:value-of select="value"/>
</xsl:attribute>
Run Code Online (Sandbox Code Playgroud)

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

<xsl:attribute name="{id}" select="value"/>
Run Code Online (Sandbox Code Playgroud)