Вам лучше передать текущие данные в виде input / xsl: param в шаблон.
XSLT стремится быть чисто функциональным языком; то есть все шаблоны / функции должны соответствовать, например, следующее условие: Если вызывается чистая функция с параметрами, которые не вызывают побочных эффектов, результат является постоянным по отношению к этому списку параметров (иногда это называется ссылочной прозрачностью), т.е. если чистая функция снова вызывается с тем же параметры, тот же результат будет возвращен (это может включить оптимизацию кэширования, такую как запоминание).
Хотя для этого есть обходные пути (как указывало InfantPro'Aravind '), делать такие вещи не рекомендуется; тем самым вы разрушаете одно из самых значительных преимуществ XSLT.