在XSL中的循环内初始化变量,然后在每个循环中使用它

时间:2014-01-26 09:32:44

标签: xslt

我想在一个for-each块中初始化一个变量,以捕获存储在最后一次迭代中的值,并在下一个for-each块中使用它,并使用最后一个值。

<xsl:for-each select="tns:ClientContributionDetails">
        <ns1:Line>
          <ns1:LineNumber>
            <xsl:value-of select="position()*2+1"/>
          </ns1:LineNumber>
        </ns1:Line> 
        <ns1:Line>
          <ns1:LineNumber>
            <xsl:value-of select="(position()+1)*2"/>
          </ns1:LineNumber>
       </ns1:Line>  

</xsl:for-each>
<xsl:for-each select="tns:ThirdPartyContributionDetails">
  <ns1:Line>
          <ns1:LineNumber>
            <!--I want here the loop begins with the value stored in the last iteration    of the pervious for-each--> 
          </ns1:LineNumber>

 </xsl:for-each>

1 个答案:

答案 0 :(得分:1)

  

在一个for-each块内初始化一个变量以捕获该值   存储在最后一次迭代中

一旦你改变了问题,答案就变得微不足道了:

<xsl:variable name="lastLine" select="2*count(tns:ClientContributionDetails) + 2" />

在第一个for-each块之后>初始化,而不是在其中。