何らかの理由で、XSLT(XSLT2、Saxon 9.4 PEを使用)を実行すると何らかの原因でbase-uri()がソースファイルのURIを返さない。ここでbase-uriがソースドキュメントのuriを返さない
は、私はソースXMLファイルでこれを実行すると、私はちょうど私がスタイルシートを取得することができる午前
<?xml version="1.0" encoding="UTF-8"?>
注意を取得し、私の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>
ですURIはbase-uri(document( ''))を使ってうまくいきます。
私はdocument-uri(/)を使用しても成功しませんでした。
更新:間違いなく間違いがあるようです。私が何もしていないと、SOURCEディレクトリにプロセッサーが表示されるようです。
私がしようとすることは、ソースファイルの名前であってもDummy.xml 『を「文書(『Dummy.xml』を,.)、それは見つけることができないと言う』。
たぶん私は再インストールする必要がありますjarファイルまたは電子メールEditiXサポート。
私はベースリスを得る必要があります。 eいくつかの提案... –
ソースxmlのベースURIを取得するには、base-uri()を使用できるだけです。これは、ソースxmlファイルのディレクトリを確実に取得するために使用します。 '、' $ 1 ') "/> –
XSLスタイルシートのURIを探している場合、static-base-uri()はほとんどの場合動作します。 –