Вы действительно должны использовать для этого «шаблон личности», и вы всегда должны иметь его под рукой. Создайте XSLT с этим шаблоном, назовите его «identity.xslt», затем в текущий XSLT. Предположим, префикс «плохой» для пространства имен, которое вы хотите заменить, и «хороший» для того, который вы хотите заменить на , тогда все, что вам нужно, это такой шаблон (я на работе, так что простите за форматирование; я вернусь к этому, когда буду дома): ... Если это не сработает в XSLT 1.0, используйте выражение соответствия, например "* [namespace-uri () = 'urn: bad-namespace '"и следуйте инструкциям Dimitre для программного создания нового элемента. Внутри вам действительно нужно просто рекурсивно применить шаблон ... но на самом деле, прочитайте шаблон идентичности.