Получить имя файла с помощью xsl
Как я могу получить имя файла с помощью xsl 1.0?
пробовал
<xsl:value-of select="base-uri()" />
но есть "Неустранимая Ошибка! Не удалось найти функцию: base-uri"
2 ответов
нет такой функции XPath или расширения XSLT для функции XPath, чтобы сделать это в XSLT v1 / XPath v1.
вполне возможно, что файла не будет, и даже если у движка XSLT нет причин иметь это имя файла (подумайте о загрузке содержимого файла в буфер, разборе буфера в DOM, а затем передаче DOM процессору XSLT).
вам нужно будет передать имя файла в процессор, чтобы быть доступным в качестве параметра в преобразиться.
base-uri()
является стандартной функцией XPath 2.0, поэтому при запуске XSLT 1.0 эта функция будет недоступна.
в XSLT 1.0 имя файла (чего?) может передаваться как параметр для преобразования.
обратите внимание что не всегда возможно создать имя файла для таблицы стилей или для XML-документа - либо или оба могут находиться в памяти без связанного файла.
это не ясно из проблема, какое имя файла должно быть создано.
вот как найти имена файлов в XPath 2.0 / XSLT 2.0:
имя файла текущего документа:
base-uri()
имя файла текущего модуля таблицы стилей:
base-uri(document(''))