当我有这两个变量时
<xsl:variable name="a" select="'Total'" />
<xsl:variable name="b" select="'500'" />
我想创建一个名为“a”的节点及其来自变量“b”的内容。我必须将 xsltproc 与 XSLT 1.0 和几个 EXSLT 扩展(其中的节点集)一起使用,所以我已经实现了其中的一部分:
<xsl:template match="/">
<xsl:variable name="x" >
<<xsl:value-of select="$a" />>
<xsl:value-of select="$b" />
</<xsl:value-of select="$a" />>
</xsl:variable>
<xsl:value-of disable-output-escaping="yes" select="$x" />
</xsl:template>
确实提出了这一点(我暂时不关心空格):
<?xml version="1.0"?>
<Total>
500
</Total>
但是:我想使用变量'x'作为节点集以便进一步操作它(当然我的现实生活中的例子更复杂)。我所做的是将其转换为节点集(使用 exslt.org/common),这似乎可行,但访问内容却不行。
<xsl:variable name="nodes" select="common:node-set($x)" />
<xsl:value-of select="$nodes/Total" />
一事无成。我本来期望 ' 500 ' 因为 $nodes/Total 应该是一个有效的 XPATH 1.0 表达式。显然我错过了一些东西。我想关键是节点名称的动态创建<...>
并没有真正创建节点,而只是一些文本输出,所以我怎样才能在这里实现真正的节点创建?