Если бы вы упомянули пример кода, в котором, по вашему мнению, вам нужно «перезаписать переменную», то любой из экспертов, например Томалак, Димитр предложил бы вам лучший (альтернативный) вариант / предложение.
Хорошо. Если это просто ваш вопрос (например, как можно иметь дело с языком, где переменные нельзя изменять !!! ??), то держу пари, что вы будете проясняться по мере того, как продолжите практиковать ..
Когда я начинал свою карьеру с XSLT в качестве новичка, даже у меня был тот же вопрос ... но вскоре я понял ... Нам не нужны переменные для изменения . ;);)
Мне приятно работать с XSLT.
Вы можете относиться к шаблонам так, как вы относитесь к функциям и процедурам. (не точно)
Вы можете вызывать их рекурсивно ..
Степень манипулирования данными, которую вы можете себе представить, может быть достигнута тем или иным способом ... (может быть, не намного проще, но не невозможным, по крайней мере) ..
возвращаясь к вашему вопросу, если вам действительно нужно изменить значение переменной .., тогда не стесняйтесь определять новую переменную ..!? Используйте математические операторы, встроенную функцию и т. Д. Для значения предыдущей переменной, и вместо того, чтобы присваивать эту же переменную обратно ... назначьте ее новой .. и используйте по своему усмотрению.
Это может быть неэффективный метод, но может быть Шаг 1.
С другой стороны .. вы можете отправить выражение .. [like translate(., abc, ABC)
] в качестве параметров (параметров) другим шаблонам .. или записать непосредственно в виде вывода .. !! чтобы избежать изменения переменной. :))