По какой-то причине base-uri () не возвращает uri исходного файла, когда я запускаю XSLT (используя XSLT2, Saxon 9.4 PE).
Вот мой тестовый пример xslt
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xdt="http://www.w3.org/2005/xpath-datatypes"
xmlns:err="http://www.w3.org/2005/xqt-errors"
exclude-result-prefixes="xs xdt err fn">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:value-of select="base-uri()"></xsl:value-of>
</xsl:template>
Когда я запускаю это для исходного XML-файла, я просто получаю
<?xml version="1.0" encoding="UTF-8"?>
Обратите внимание, что я могу получить URI таблицы стилей просто отлично, используя base-uri(document ('')).
Мне также не удалось использовать document-uri (/).
ОБНОВЛЕНИЕ: похоже, что-то не так.Кажется, что ничего, что я делаю, не заставляет процессор искать в каталоге SOURCE.
Когда я пытаюсь "document" ('Dummy.xml',.), Он говорит, что не может найти "Dummy.xml", даже если этоимя исходного файла.
Может быть, мне следует переустановить JAR-файл или написать в службу поддержки EditiX по электронной почте.