В XSLT / XPath 1.0, если вы хотите заменить эти акцентированные символы на без акцентированных, вы можете использовать функцию translate()
.
Но это предполагает, что ваши "акцентированные символы Юникода" не состоят из символов Юникода. Если бы это было так, вам нужно использовать функцию XPath 2.0 normalize-unicode()
.
И, если реальная цель состоит в том, чтобы иметь действующий URI, вы должны использовать encode-for-uri()
Обновление : примеры
translate('gri_gonéwiththèw00mitc','áàâäéèêëíìîïóòôöúùûü','aaaaeeeeiiiioooouuuu')
Результат: gri_gonewiththew00mitc
encode-for-uri('gri_gonéwiththèw00mitc')
Результат: gri_gon%C3%A9withth%C3%A8w00mitc
Правильное выражение предоставьте предложение от @biziclop:
replace(normalize-unicode('gri_gonéwiththèw00mitc','NFKD'),'\P{ASCII}','')
Результат: gri_gonewiththew00mitc
Примечание : в XPath 2.0 правильное отрицание класса символов с большой буквы \P
.