но получил "Неустранимая ошибка! Не удалось найти функцию: base-uri"
Ответ 1
Нет такой функции XPath или расширения XSLT для функции XPath, чтобы сделать это в XSLT v1/XPath v1.
Вполне возможно, что нет файла, и даже если нет причин для того, чтобы движок XSLT имел это имя файла (рассмотрите загрузку содержимого файла в буфер, разбор буфера в DOM и затем передачу DOM для процессора XSLT).
Вам нужно будет передать имя файла в процессор, чтобы он был доступен в качестве параметра в преобразовании.
Ответ 2
base-uri() - стандартная функция XPath 2.0, поэтому при запуске XSLT 1.0 эта функция будет недоступна.
В XSLT 1.0 имя файла (чего?) может быть передано как параметр для преобразования.
Обратите внимание на, что не всегда возможно создать имя файла для таблицы стилей или для документа XML - либо оба, либо оба могут находиться в памяти без связанного файла.
Из проблемы неясно, какое имя файла должно быть создано.