Пожалуйста, всегда говорите, какую версию XSLT вы используете.
В 2.0 вы можете использовать replace(num, '^0+|0+$', '')
.
В 1.0 это сложнее (все есть).
Чтобы удалить начальные нули, используйте string(number(.))
.
. Чтобы удалить конечные нули, я думаю, что вам нужен рекурсивный именованный шаблон с логикой c:
if $param mod 10 = 0
then call yourself with param = $param div 10
else $param