请诸位大侠指点一下,在XSL文件中怎么样定义或使用一个全局变量?
WLiu 2001-06-14 04:09:00 我们公司现在在用XML、XSL文件做系统的开发,我们将数据库选出来的记录存储在XML文件中,然后在XSL文件中定义文件的输出,我们是将所有的XML文件中的数据打印到控制台,也就是在MS-DOS的环境下输出,这个控制转换是用JAVA结合XSL、XML文件完成的。
但是我在工作碰到了这样的一个问题:在XSL文件中,我因为要控制报表的输出,所以要用到这样的一个情况,我在XSL文件中必须通过遍历XML文件中的数据来确定,XML文件的数据中有一个特定的字段值,这样我要打印相应的表头。我在XSL文件中,写了如下的一段程序:
<xsl:for-each select="SD_DEAL_TYP">
<xsl:choose>
<xsl:when test="./@DEAL_TYP = 'MBS'">
<xsl:variable name="A" select="0"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
SD_DEAL_TYP:是我的XML文件中的子表的名字;
DEAL_TYP:是子表中的其中一个字段。
我就是希望,如果在子表(SD_DEAL_TYP)中如果有记录的字段(DEAL_TYP)的值,存在'MBS'的值的时候,给一个变量“A”赋一个值,这样我可以在接下来的程序中做相应的处理。
但是我发现一个问题就是在循环中,我可以给变量赋值,但是一旦退出循环的时候,这个变量也就消失了,也就是我无法保持变量的值。
我想请教诸位大侠,在这里的<xsl:for-each>循环中,我要怎么做才能够给一个外部的变量赋值,或者是保持现在的这个变量<xsl:variable>的“A”的值,让它在退出循环以后还存在。希望能够帮我写出相应的程序。
请大家多多指点指点,谢谢了!