Если значение переменной является постоянным во время преобразования, вы можете сделать ее глобальной переменной, поместив ее за пределы шаблона ввода.
Если переменная имеет разные значения в разное время, то вам необходимоиспользуйте параметры, которые установлены в вызывающем шаблоне и используются в вызываемом шаблоне.(В XSLT 2.0 вы можете использовать параметры туннеля: если они установлены в шаблоне ввода, их можно использовать где угодно, без явной передачи через все промежуточные вызовы шаблона).
В качестве общего принципа, однако,вам трудно советовать, когда вы не описали свою проблему, а только предложили решение - ваш уровень опыта работы с XSLT таков, что решение, которое вы пытаетесь реализовать, может оказаться не самым подходящим.