变量在xslt编码中的变量

时间:2010-08-18 15:29:18

标签: xslt

是否可以在xslt ??

中的变量内创建变量

以上的事情是否可能???

2 个答案:

答案 0 :(得分:4)

这是你的意思吗?

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" version="2.0">

  <xsl:variable name="a">
    <xsl:variable name="b" select="10"/>
    <xsl:value-of select="$b"/>
  </xsl:variable>

  <xsl:template match="/">
    <xsl:value-of select="$a"/>
  </xsl:template>

</xsl:stylesheet>

答案是肯定的,但内部变量仅在外部变量的定义范围内。因此,如果外部变量的定义需要一些复杂的表达式,你想要存储在一个临时的(可能用于调试目的),那么这是一种方法。

答案 1 :(得分:1)

答案是:是的。此样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>
    <xsl:template match="/">
        <xsl:variable name="vOuter">
            <xsl:variable name="vInner">
                <xsl:value-of select="'Content'"/>
            </xsl:variable>
            <xsl:value-of select="concat('Some ',$vInner)"/>
        </xsl:variable>
        <xsl:value-of select="$vOuter"/>
    </xsl:template>
</xsl:stylesheet>

输出:

Some Content