Просветите пожалуйста!

Пишу некую xsl (я тока учусь), в ней (тупо) две переменные (подряд) с одним и тем же name:

    <xsl:variable name="var" select="1"/>
    <xsl:variable name="var" select="2"/>

FF2.0 Возвращает : "Во время выполнения XSLT-преобразования произошла ошибка: (null)", т.е. если я пытаюсь этой же переменной присвоить другое значение - ругается ...
Если убираю одну строку или пишу другой name, все номано ...
А вопрос в следующем : В xsl нельзя одной и той же переменной менять значения ?  (бред какой-то)

http://www.w3schools.com/xsl/el_variable.asp :

Note: Once you have set a variable's value, you cannot change or modify that value!

Вот собственно и всё =)

Очень интересно ... но то же самое преобразование проделываю на стороне сервака всё номано ... :|
т.е.
<xsl:variable name="var" select="1"/>
...
<xsl:variable name="var" select="$var + 1"/>
... я уже не могу сделать ?

Снимаю тему. (горбатый он какой-то, этот XSLT)

kigora
Так бывает. XSLT надо просто понять. Он очень отличается от обычных ЯП.

и примеры (с разных источников) об этом говорят

Покажите мне такой пример…

Снимаю тему. (горбатый он какой-то, этот XSLT)

(горбатый он какой-то, этот XSLT)

Он не горбатый, он декларативный :D

Цитата из книжки Дэвид Хантер. Введение в XML (книжка дурацкая, но местами ничего):

... программистам, знакомым только с императивными языками, придется привыкать к абсолютно новому стилю программирования. Работа с переменными и их изменение является одним из наиболее фундаментальных аспектов программирования на императивных языках, и к работе с декларативными языками придется привыкать. Для тех, кому декларативные языки наиболее привычны, XSLT, как один из представителей декларативных языков, наполнен глубоким смыслом (подчас таким глубоким, что аж страшно становится! =) - прим.), обладает большой мощью и гибкостью. Однако тем, кто привык к императивным языкам, таким как JavaScript, придется отучать себя от мышления императивными категориями.

Короче говоря, надо мыслить не переменными и функциями, а узлами и контекстами =) Поэтому

В xsl нельзя одной и той же переменной менять значения ?

это не

(бред какой-то)

, а фундаментальная особенность языка :lol: