+XPath+PHP: document() mit Sablotron
Paul Brunner
- xsl
Hallo zusammen,
ich habe größere Probleme ein externes xml-Dokument in ein xsl-sheet einzubinden und bin mir nicht sicher ob es an falscher Synthax, der falschen Pfad-Auflösung oder an Sablotron (weiß leider nicht welche Version) liegt. Wer hat Erfahrung mit dieser Kombination?
<xsl:value-of select="document('file://test.xml')/document/header"/>
test.xml liegt im selben Verzeichnis wie das basis-xml, laut Sablotron-Dokumentation ist das auch Bezug für relative Pfadangaben, mit absoluten gehts auch nicht und die Angabe zum File://-Schema ist laut Doku notwendig. Trotzdem findet er die Datei nicht und ich bin mit meinem Latein am Ende.
Gruß
Paul
hallo,
<xsl:value-of select="document('file://test.xml')/document/header"/>
test.xml liegt im selben Verzeichnis wie das basis-xml, laut Sablotron-Dokumentation ist das auch Bezug für relative Pfadangaben, mit absoluten gehts auch nicht und die Angabe zum File://-Schema ist laut Doku notwendig. Trotzdem findet er die Datei nicht und ich bin mit meinem Latein am Ende.
grüße
thomas
Hallo Thomas,
- ich kenne deine test.xml nicht. dokument() [...] sprich kann etwas von diesem pfad zurückgelifert werden?
<xsl:value-of select="document('file://text.xml')/document/header/name"/>
lautet der vollständige Aufruf zur Beispieldatei:
*----
<?xml version="1.0" encoding="ISO-8859-1"?>
<document id="RPRSWM2002" date="20020606" publish="" expire="">
<header>
<name>Dokumentname</name>
</header>
[...]
</document>
*----
- versuche es trotzdem ohne file:// also einfach mit test.xml
- du könntest mit absoluter pfadangabe versuchen "file:///C|/test.xml"
Die gesammlten Fehlermeldungen zu den verschiednen Varianten:
'test.xml'
Sablotron error: file not found 'test.xml'
(zur Sicherheit steht test.xml im xml-, xsl-, und php-Verzeichnis
und wird trotzdem nicht gefunden)
'file://test.xml'
Sablotron error: unkown 'arg:/test.xml'
(arg:/ ist das Schema für den internen "named memory buffers"
und wird standardmäßig genommen)
'http://www.domain.de/pfad/test.xml'
Sablotron error: unkown encoding ''
(hä?)
Ich glaube Sablotron mag mich nicht!
Gruß
Paul
Uuups, Dreher bei den Fehlermeldungen,
so ist richtig:
'file://test.xml'
Sablotron error: file not found 'test.xml'
'test.xml'
Sablotron error: unkown 'arg:/test.xml'