小编And*_*eas的帖子

XSLT从变量创建节点名称

当我有这两个变量

<xsl:variable name="a" select="'Total'" />
<xsl:variable name="b" select="'500'" />
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为变量'a'的节点及其变量'b'的内容.我必须使用xsltproc和XSLT 1.0以及一些EXSLT扩展(其中包含节点集),所以我已经实现了它的一部分:

<xsl:template match="/">
  <xsl:variable name="x" >
    &lt;<xsl:value-of  select="$a" />&gt;
        <xsl:value-of  select="$b" />
    &lt;/<xsl:value-of  select="$a" />&gt;
  </xsl:variable>
  <xsl:value-of disable-output-escaping="yes" select="$x" />
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

确实推出了这个(我暂时不关心空白):

<?xml version="1.0"?>

    <Total>
        500
    </Total>
Run Code Online (Sandbox Code Playgroud)

但是:我想使用变量'x'作为节点集来进一步操作它(当然我的现实生活中的例子更复杂).我所做的是将其转换为节点集(使用exslt.org/common),这似乎有效但访问内容却没有.

  <xsl:variable name="nodes" select="common:node-set($x)" />
  <xsl:value-of select="$nodes/Total" />
Run Code Online (Sandbox Code Playgroud)

没有任何结果.因为$ nodes/Total应该是一个有效的XPATH 1.0表达式,我本来期望' 500 '.显然我错过了一些东西.我想重点是动态创建节点名称&lt;...&gt;并不真正创建一个节点而只是一些文本输出,那么我如何在这里实现真正的节点创建?

variables node-set xslt-1.0

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

node-set ×1

variables ×1

xslt-1.0 ×1