Stylesheet wird nicht erkannt
Mario
- xsl
0 Thomas J.S.0 Mario
Hi @all,
Wenn ich eine XSL Datei bei uns auf den Webserver lade, wird sie von einer XML-Datei nicht erkannt. Hintergrund ist der, das in der Firma verschiedene Leute sich per "Knopfdruck" eine XML-Datei erzeugen können (aus SAP) und die Datei - die immer den gleichen Aufbau hat, immer nach dem gleichen Schema formatiert wird. Also lade ich die XSL-Datei bei uns auf den Webserver, und war der Meinung, dass wenn ich nun einfach in dem Script, was die XML erzeugt, den Pfad zur XSL anpasse. Aber das funktioniert nicht. Der formatiert mir nix. Habe ich da was vergessen? Falsch gemacht? WEIL: Wenn ich die XSL lokal habe und darauf verweise macht er alles einwandfrei!?????? Der IE bringt mir die Fehlermeldung:
"The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a weel-formed XML document."
Jedoch ist das Stylesheet (wenn ich es per direkter URL aufrufe) komplett vorhanden, und der XML-Editor sagt mir auch, dass das XML "well formed" ist. Hat da einer eine Idee, was ich falsch mache? Weil wie gesagt, lokal läuft alles einwandfrei...
Kopf der XML:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="http://alpha2/WebApp/terminplan_01.xsl"?>
<terminplan>
...
Kopf der XSL:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--Mozilla 1.3 Version-->
<xsl:template match="/">
...
Danke für die Hilfe
Mario
Hallo,
Also lade ich die XSL-Datei bei uns auf den Webserver, und war der Meinung, dass wenn ich nun einfach in dem Script, was die XML erzeugt, den Pfad zur XSL anpasse. Aber das funktioniert nicht.
Wird die XMl-Datei irgendwo statisch gespeichert, oder wird sie vom Script direkt an den Browser geschickt?
Jedoch ist das Stylesheet (wenn ich es per direkter URL aufrufe) komplett vorhanden, und der XML-Editor sagt mir auch, dass das XML "well formed" ist. Hat da einer eine Idee, was ich falsch mache? Weil wie gesagt, lokal läuft alles einwandfrei...
Kann auf den Netzwerkpfad liegen: bzw. das ist keine HTTP-URL und auch kein Netwerkpfad: href="http://alpha2/WebApp/terminplan_01.xsl"
Kopf der XSL:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Korrekt wäre:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Grüße
Thomas
Hall,
danke für Deine Hilfe. Also
Wird die XMl-Datei irgendwo statisch gespeichert, oder wird sie vom Script direkt an den Browser geschickt?
Ja, die Datei wird erst statisch auf der Platte des jeweiligen Users gespeichert. Der ruft die dann auf, usw...
Kann auf den Netzwerkpfad liegen: bzw. das ist keine HTTP-URL und auch kein Netwerkpfad: href="http://alpha2/WebApp/terminplan_01.xsl"
Also das Phänomen hat sich etwas leicht geändert. Jetzt passiert folgendes: Rufe ich die XML mit dem IE 5.0 auf, zeigt er sie korrekt an (mit der XSL auf dem Server) - allerings mit dem MIME-Type vom Mozilla. Rufe ich sie im IE 5.5 auf, zeigt er sie schon nicht mehr an, klar weil in der XML der Mime-Type vom Mozilla steht. Und im Mozilla 1.3 zeigt er ebenfalls (immer noch) keine Formatierung an.
Dort kommt in der JavaScript Konsole:
"Security Error: Content at file:///C:/WINNT/
Test/Desktop/TEST.xml may not load data from http://alpha2/WebApp/terminplan_01.xsl" - aber Proxy-mäßig stimmen die Einstellungen alle. Und im IE5.0 zeigt er es ja an!??
Korrekt wäre:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Ok, das habe ich geändert.
Weißt Du vielleicht noch einen Rat?
Gruß Mario
Hallo,
Also das Phänomen hat sich etwas leicht geändert. Jetzt passiert folgendes: Rufe ich die XML mit dem IE 5.0 auf, zeigt er sie korrekt an (mit der XSL auf dem Server) - allerings mit dem MIME-Type vom Mozilla. Rufe ich sie im IE 5.5 auf, zeigt er sie schon nicht mehr an, klar weil in der XML der Mime-Type vom Mozilla steht.
Sorry aber: wie bitte??
Was heisst der IE5 zeigt es an mit der MIME-Type von Mozilla und "weil in der XML der Mime-Type vom Mozilla steht"???
Du meinst:
<?xml-stylesheet type="text/xsl" href="was_auch_immer.xsl" ?> ?
type="text/xml" wäre zwar richtig, aber auch mozilla hat type="text/xsl" übernommen.
Und im Mozilla 1.3 zeigt er ebenfalls (immer noch) keine Formatierung an.
Dort kommt in der JavaScript Konsole:
"Security Error: Content at file:///C:/WINNT/
Test/Desktop/TEST.xml may not load data from http://alpha2/WebApp/terminplan_01.xsl" - aber Proxy-mäßig stimmen die Einstellungen alle. Und im IE5.0 zeigt er es ja an!??
Ich kenne natürlich eure EDV-Umgebung nicht, so kann ich nur spekulieren:
Das scheint aber mehr einer Sicherheitseinstellung im Browser zu sein, als ein XML/XSL Fehler.
Vielleicht kannst du die XML-Datei(en) auch am Server speicheren und den User nur den Link auf die Datei zusenden. (?)
Grüße
Thomas
PS: versuch mal: welche deine Browser zeigen die Datei richtig an:
http://httpd.apache.org/docs-2.0/index.xml ?