как переназначить значение переменной в xslt

Здесь я пытаюсь запустить один цикл, который ищет весь xml, и в зависимости от различных условий разные переменные получают разные значения. чтобы его можно было использовать позже для справки.

Образец кода :

<xsl:for-each select='root'>
<xsl:choose>
  <xsl:when test='first'>
     <xsl:variable name='first' select='root/first' />
  </xsl:when>
  <xsl:when test='second'>
    <xsl:variable name='namew' select='root/second' />
  </xsl:when>
  <xsl:otherwise>
    <xsl:variable name='other'>unknown</xsl:variable>
  </xsl:otherwise>
  </xsl:choose>

Я знаю, что здесь это не сработает, и я также знаю причину (область действия переменной и постоянное поведение переменной), на самом деле я хочу знать альтернативное решение этой проблемы.


person user1847132    schedule 26.11.2012    source источник


Ответы (1)


XSLT - это функциональный язык.

Среди прочего, это означает, что значение переменной, однажды определенное, не может быть изменено.

Если вы укажете конкретную проблему, которую хотите решить, многие из нас смогут дать вам решение, в котором значения переменных не изменяются.

person Dimitre Novatchev    schedule 26.11.2012