我对 XSL 有点陌生,但遇到了一些问题。根据我的研究,<xsl:variable>
如果在顶层声明 XSL 变量是全局的,如果在模板中声明是局部的,并且您不能更改值。那么这是否意味着没有办法声明一个全局变量然后在模板中更改它的值?
我有以下情况,我正在遍历一个结果集,我有一些看起来像这样的东西:
<xsl:for-each select="NewDataSet/Table1">
<xsl:if test="position()= 1">
<xsl:value-of select="SchoolName"/>
</xsl:if>
<xsl:if test="position()= 2">
<xsl:value-of select="gender"/>
</xsl:if>
<xsl:if test="position() = last()">
<div onclick="showTallyBySchool(,'{SchoolName}','{gender}')">
<xsl:value-of select="node()"/>
</div>
</xsl:if>
</xsl:for-each>
如您所见,在迭代期间,我需要第三个“if”中的“gender”和“schoolname”的值。如果我无法存储它们,我将如何访问它们?
编辑:修正了一些错别字,如果有帮助,这里是 XML 的摘录:
<NewDataSet>
<Table1>
<SchoolName>Unknown School</SchoolName>
<Gender>Male</Gender>
<PS>0</PS>
<PK>0</PK>
<K>0</K>
</Table1>
</NewDataSet>