抱歉,我无法理解这一点:
有没有办法改变这个......
<xsl:value-of select="concat('name-', $language)" />
......进入这个:
<xsl:value-of select="name-en" />
感谢您的帮助!
答案 0 :(得分:2)
<xsl:value-of select='*[name() = concat("name-", $language)]' />
<强> Live demo 强>
答案 1 :(得分:0)
试试这个
<xsl:variable name="name-en" select="concat('name-', $language)">
</xsl:variable>
答案 2 :(得分:0)
我认为你实际上意味着实现相当于......
<xsl:value-of select="'name-en'" />
(注意'name-en'周围的引号。)如果这不是您的意图,请告诉我。
只需将$ language变量的值设置为'en',就像这样......
<xsl:variable name="language" select="'en'" />
很明显,如果您使用的是XSLT 2.0而不是1.0,则可以缩写...
<xsl:value-of select="concat('name-', $language)" />
...进入....
<xsl:value-of select="'name-', $language" />
好的!
答案 3 :(得分:0)
仅根据标题判断:
如何在XSLT中将变量放入元素名称?
答案是:
<xsl:element name="{$theVariable}"/>
这会生成一个元素,其名称是$theVariable
变量的值。
在您的具体案例中使用:
<xsl:element name="name-{$language}"/>
<强>解释强>:
正确使用 <xsl:element>
和 AVT (属性值模板)。