<xsl:value-of select="$variable1"/>
<xsl:value-of select="$variable2"/>
variable1将是$ variable2的值。我该怎么做?
答案 0 :(得分:0)
你做不到。你能做的就是这样:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<!-- Dictionary mapping names to values -->
<xsl:variable name="dict">
<value name="var1">1</value>
<value name="var2">2</value>
</xsl:variable>
<xsl:template match="/">
<!-- Name of the value in 'variable1' -->
<xsl:variable name="variable1" select="'var1'"/>
<!-- Get the value in 'variable2' using 'variable1' -->
<xsl:variable name="variable2" select="msxsl:node-set($dict)/value[@name=$variable1]"/>
<root>
<xsl:text>variable2: </xsl:text><xsl:value-of select="$variable2"/>
</root>
</xsl:template>
</xsl:stylesheet>
msxsl:node-set
是Microsoft特定的扩展,用于将片段转换为节点集。如果您使用的是非Microsoft处理器,则应该提供等效功能。
答案 1 :(得分:0)
与大多数编程语言一样,XSLT变量名称在运行时无法访问。
所以,解释你为什么要这样做 - 你想解决什么问题 - 我们可以告诉你解决问题的正确方法。