PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : document()-Funktion



kirilich
20-08-2005, 00:09
Hallo!

Ich muss unbedingt XML-Dateien nach ihren absoluten Pfadnamen in das Template laden - mit der document()-Funktion. Leider haben alle meine bisherigen Versuche, dies zu erreichen, gescheitert. Wie kann man die Funktion dazu überreden, dies doch zu tun?

Was ich unter anderem bereits ausprobiert habe:
- document('file://c:/xml_files/test.xml')?
- document('file://c:\xml_files\test.xml')?
- document('file:///c:/xml_files/test.xml')?
- document('file:///c:\xml_files\test.xml')?
...
- document('test.xml','file://c:\xml_files')?
- document('test.xml','file://c:\xml_files\')?
- document('test.xml','file://c:/xml_files')?
- document('test.xml','file://c:/xml_files/')?
- document('file://test.xml','file://c:/xml_files/')?
etc...

Bitte um Hilfe!
Vitali

anda_skoa
20-08-2005, 15:15
c: ist sicher kein gültiger Host- oder Pfadbestandteil einer URI
Der einzige Doppelpunkt in einer URI ist der nach dem Protokoll.

Vermutlich muß das Laufwerk irgendwie kodiert werden, vielleicht
file://c/pfad also als Hostteil oder der Doppelpunkt wird escaped.

Ciao,
_

kirilich
21-08-2005, 19:55
Zunächst einmal muss ich sagen, dass ich der Ursache dieses Verhaltens auf die Schliche gekommen bin: das Problem war, dass in dem Java-Framework, das ich benutze, für XSLT-Skripte ein BasePath definiert wird. Damit wird allen Pfadangaben, sogar absoluten, der BasePath vorangestellt.


c: ist sicher kein gültiger Host- oder Pfadbestandteil einer URI
Der einzige Doppelpunkt in einer URI ist der nach dem Protokoll.
_
Du hast möglicherweise recht, Xalan akzeptiert aber auch solche URIs:

file:///c:\dir\datei.xml

, zumindest dann, wenn man ihn per Kommandozeile aufruft, ohne den BasePath zu ändern.

Danke und viele Grüße,
Vitali