xmlhack.ru XML-форумы
Обсуждение XML и связанных с ним технологий

Изменение значение переменной в рекурсивном шаблоне


Автор Сообщение
Kostemb0
Новичок

Зарегистрирован: 31.03.2009
Сообщения: 4

[13712] Ср Апр 08, 2009 13:29
Изменение значение переменной в рекурсивном шаблоне
есть "глобальная" переменная "var", значение которой нужно измеменить в рукурсивном алгоритме "recursive"

Код:


<xsl:variable name="var"/>

<xsl:template name="recursive">
  <xsl:param name="str" />
  <xsl:param name="setNum" select= "0" />

<xsl:variable name="new" select="..." />

<xsl:if test="...">
<xsl:call-template name="recursive">
<xsl:with-param name="str" select="$new" />
<xsl:with-param name="setNum" select="$setNum + 1" />
</xsl:call-template>
</xsl:if>

</xsl:template>



нужно как то сделать, чтобы значение переменной $var было равно $setNum ($var=$setNum)

и чтобы $var была доспупна вне этого шаблона, с новым значение.!!!!
Vasilisk
Наставник

Зарегистрирован: 17.05.2006
Сообщения: 370
Откуда: Украина, Харьков
[13715] Ср Апр 08, 2009 21:25

Код:

<xsl:variable name="var">
  <xsl:call-template name="recursive">
</xsl:variable>

<xsl:template name="recursive">
  <xsl:param name="str" />
  <xsl:param name="setNum" select= "0" />

  <xsl:variable name="new" select="..." />

  <xsl:choose>
    <xsl:when test="...">
      <xsl:call-template name="recursive">
        <xsl:with-param name="str" select="$new" />
        <xsl:with-param name="setNum" select="$setNum + 1" />
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$setNum"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>


_________________
С уважением Vasilisk
Уважайте читающих, используйте тэги [code ][/code]