Aus irgendeinem Grund gibt base-uri() das uri der Quelldatei nicht zurück, wenn ich eine XSLT (mit XSLT2, Saxon 9.4 PE) ausführe.base-uri gibt uri des Quelldokuments nicht zurück
Hier ist mein Xslt Testfall
<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>
Wenn ich dies auf eine Quelle xml-Datei ausführen, bekomme ich nur
<?xml version="1.0" encoding="UTF-8"?>
Bitte beachte, dass ich im Stande bin, das Stylesheet abrufen URI einfach gut mit base-uri (Dokument ('')).
Ich hatte auch keinen Erfolg mit Dokument-URI (/) entweder.
UPDATE: Sieht so aus, als ob da definitiv etwas nicht stimmt. Es scheint, dass nichts, was ich tue, den Prozessor dazu bringt, in das SOURCE-Verzeichnis zu schauen.
Wenn ich versuche, „Dokument (‚Dummy.xml‘,.), sagt sie es nicht finden können‚Dummy.xml‘, obwohl, dass der Name der Quelldatei ist.
Vielleicht sollte ich wieder installieren Die JAR-Datei oder E-Mail EditiX-Unterstützung
Ich brauche die Baseuri bitte helfen Sie mir geben m Einige Vorschläge ... –
Um die Basis-URL des Quell-XML zu erhalten, sollten Sie einfach base-uri() verwenden können. Das ist es, was ich brauche, um das Verzeichnis der Quell-XML-Datei zuverlässig zu erhalten: –
Wenn Sie nach der URL des XSL-Stylesheets suchen, sollte static-base-uri() die meiste Zeit funktionieren. –