2011-02-23 52 views
1

我正在使用xslt1.0.I想要使用一个全局变量,这样一个方法,变量的值是从一个模板设置,并在另一个模板中使用..我可以如何实现这一点。 请帮助me..Thanks提前..需要设置全局变量

回答

1
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="text"/> 
    <xsl:variable name="vTest"> 
     <xsl:apply-templates select="/*/element"/> 
    </xsl:variable> 
    <xsl:template match="/"> 
     <xsl:value-of select="$vTest"/> 
    </xsl:template> 
</xsl:stylesheet> 

XML输入:

<t> 
    <element>A</element> 
    <element>B</element> 
    <element>C</element> 
</t> 

结果:

ABC 

注: $ VTEST与值模板将RTF在1.0中。但是对于这种情况,它可以像字符串数据类型一样使用。

+0

+1因为它完全符合问题文本(尽管我认为其意图是某种副作用变量......)。 minor:'xsl:value-of'将通过'string()'函数调用获得XPath表达式的字符串值。 – 2011-02-23 17:40:09

+0

@Alejandro,我的意思是在这种情况下可变内容可以被视为字符串。没有强调它是如何完成的。 – Flack 2011-02-23 19:14:18

+0

我觉得讨论偏离我的objective.Let我使我的问题更加清晰.. 第一 第二 这是我的输入。 <! - 当第一次匹配发生时,我为全局变量设置一个值,当模板第二次匹配时,我必须从该变量中获取值 - > vignesh 2011-02-24 02:27:07