如何重命名xml元素并在同一个XSL样式表中使用新名称?

时间:2009-09-15 06:20:04

标签: xslt xslt-2.0

我有一个用于html输出的xsl文件。 xsl处理我想要立即更新的旧格式的xml whixh。因此,我需要将旧元素名称重命名为新名称,我在下面的xsl代码中使用新名称。我怎样才能做到这一点? 我试过了

<xsl:template match="OldName">
<NewName><xsl:value-of select="."/></NewName>
</xsl:template>
<xsl:template match="/">
some code... </xsl:template>

然后我尝试访问

<xsl:value-of select="NewName"/>

但在使用OldName时没有任何结果我得到了值

2 个答案:

答案 0 :(得分:2)

如果您使用的是XSLT2,则可以使用two-phase transformation

答案 1 :(得分:0)

<xsl:value-of select="NewName"/>查看输入,而不是输出。在输入中,没有NewName。要使用NewName,您必须解析它两次;一旦更新名称,并进行格式化。