何らかの理由で、XSLT (XSLT2、Saxon 9.4 PE を使用) を実行すると、base-uri() がソース ファイルの uri を返しません。
これが私の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"?>
base-uri(document('')) を使用して、スタイルシート URI をうまく取得できることに注意してください。
document-uri(/) を使用しても成功しませんでした。
更新: 間違いなく何か問題があるようです。私が何をしても、プロセッサが SOURCE ディレクトリを調べないようです。
"document('Dummy.xml',.) を試すと、ソース ファイルの名前であるにもかかわらず "Dummy.xml" が見つからないというメッセージが表示されます。
おそらく、jar ファイルを再インストールするか、EditiX サポートに電子メールを送信する必要があります。