IE als Vorreiter beim DTD-Laden
XaraX
- xml
2 Thomas Meinike
Hallo,
gerade bin ich am Erstellen einer Dokumentation von Quellcode, wobei ich auf XML setze. Nun habe ich vorab ein Testdokument erstellt:
http://eddi.to-grip.de/versuch/
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE Objektinfo SYSTEM "info.dtd">
<a>
<b n="datei">
Infoseite des Objekts
</b>
<c>
<d>Generelle Informationen</d>
<e>
<f>Objektname</f>
<f l="&a;">datei&c;</f>
</e>
</c>
</a>
Überraschend vorbildlich verhält sich der IE 6 und läd die DTD. Das hat mit erstaunt. Welcher Browser kann das auf Linux? Bzw. weiß jemand, ob bei Mozilla schon was in arbeit ist, um dies auch zu ermöglichen?
Gruß aus Berlin!
eddi
Hallo,
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE Objektinfo SYSTEM "info.dtd">
<a>
Das Wurzelelement lautet Objektinfo und nicht a!
Überraschend vorbildlich verhält sich der IE 6 und läd die DTD. Das hat mit erstaunt. Welcher Browser kann das auf Linux? Bzw. weiß jemand, ob bei Mozilla schon was in arbeit ist, um dies auch zu ermöglichen?
Der IE 6 liest die DTD, prueft die formale Syntax und expandiert Entitys, aber es findet keine Validierung statt (MSXML = nicht-validierender Parser). Deshalb erscheint auch keine Fehlermeldung bei Deinem nicht mit der DTD konformem XML-Dokument.
Mozilla interpretiert externe Entity-Referenzen nur ansatzweise: http://www.mozilla.org/newlayout/xml/#dtd.
MfG, Thomas
Hallo Thomas,
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE Objektinfo SYSTEM "info.dtd">
<a>
Das Wurzelelement lautet Objektinfo und nicht a!
ups :) ist verbessert
Mozilla interpretiert externe Entity-Referenzen nur ansatzweise: http://www.mozilla.org/newlayout/xml/#dtd.
Das hat mich einen kleinen Schritt, was das lokale System betrifft, nach vorn gebracht. Danke!
Was mache ich nur mit anderen Usern :(
Gruß aus Berlin!
eddi
Hallo,
Das hat mich einen kleinen Schritt, was das lokale System betrifft, nach vorn gebracht. Danke!
Was mache ich nur mit anderen Usern :(
Wenn Cross-Browser-Tauglichkeit gefordert ist, wird es kaum eine Alternative zur Server-seitigen Verarbeitung des XML-Contents geben (z. B. via XSLT), sodass die Browser eben das erhalten, was diese am besten verstehen: (X)HTML.
MfG, Thomas
Hallo,
Wenn Cross-Browser-Tauglichkeit gefordert ist, wird es kaum eine Alternative zur Server-seitigen Verarbeitung des XML-Contents geben (z. B. via XSLT), sodass die Browser eben das erhalten, was diese am besten verstehen: (X)HTML.
Darauf sollte es eh hinaus laufen. Ich wollte nur nicht auf die Entitäten verzichten, sondern den Rest einmal laden - und dann die Browser arbeiten lassen. So werde ich wohl bei HTML bleiben (müssen), da der Inhalt eh schon ziemlich aufwändig durch PHP generiert wird und noch einen Handler ist es mir nicht Wert. Danke noch mal an Dich.
Gruß aus Berlin!
eddi
Was mache ich nur mit anderen Usern :(
"best viewed with IE" >;->
Gruß aus Friedrichshain,
Gunnar
Hallo Gunnar,
"best viewed with IE" >;->
*lach*
Ich glaube dann werde ich hier von der Security entfernt.
Gruß aus Berlin!
eddi
Hallo
(MSXML = nicht-validierender Parser)
Dasi ist Blödsinn. Die MSXML in der Version 4 ist auf alle fälle in der lage zu validieren, die 3er glaub ich auch, jedoch benutzt der IE AFAIK eine uralte verson der MSXML. Das ändert jedoch nichts daran der die XML-Engine grundsätzlich die möglichkeit zur validierung besitzt.
Gruß, Peter
Hallo,
(MSXML = nicht-validierender Parser)
Dasi ist Blödsinn. Die MSXML in der Version 4 ist auf alle fälle in der lage zu validieren,
Ja. Aber die Validierung ist defaultmäßig abgeschaltet. (M$ weiss offenbar, dass die Leute meinstens Fehler machen *g*).
Du kannst es nur via JavaScript - wenn du so auf das XML zugrifst - aktivieren.
Grüße
Thomas
Hallo,
(MSXML = nicht-validierender Parser)
Dasi ist Blödsinn.
Naja, der tut jedenfalls meistens so ...
Die MSXML in der Version 4 ist auf alle fälle in der lage zu validieren, die 3er glaub ich auch, jedoch benutzt der IE AFAIK eine uralte verson der MSXML. Das ändert jedoch nichts daran der die XML-Engine grundsätzlich die möglichkeit zur validierung besitzt.
Der IE 6 verwendet MSXML 3, IE 5.5 die Version 2.5. In der Default-Konfiguration wird jedenfalls nicht ohne Weiteres validiert. Man kann aber ein Tool vom MSDN beziehen, welches die Validierung ueber das Kontextmenue ermoeglicht.
Bei MSXML 4 kann man eine XML-Dokumenteninstanz via Scripting mit xmlobj.parseError.errorCode zumindest gegen ein XML-Schema validieren.
MfG, Thomas