base-uri не возвращает uri исходного документа - PullRequest
1 голос
/ 27 марта 2012

По какой-то причине 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 по электронной почте.

1 Ответ

1 голос
/ 27 марта 2012

Как вы используете Saxon из командной строки или в вашем собственном коде?Как вы предоставляете входной документ Saxon?Когда я запускаю Saxon 9.4 HE Java из командной строки (например, java -jar saxon9.he input.xml sheet.xsl), я получаю какой-то значимый вывод (например, <?xml version="1.0" encoding="UTF-8"?>file:/C:/Users/UserName/Documents/xslt/input.xml).

...