IE und XHTML?
D.R.
- browser
-1 Der Martin
3 molily
Hi,
In Selfhtml wird behauptet, dass der IE XHTML beherrscht. Anscheinend aber nur, wenn man die XML-Version mit der Zeichenangabe weglässt. Habe ich nun gemacht und alle Sonderzeichen maskiert. Was mir aber auffiel war, dass der IE immer ganz locker nach HTML-Regeln arbeitete, obwohl die Datei die Endung .xhtml und eine Dokumenttyp-deklaration (Strict) mit uri hatte.
Der Oberhammer war aber, als ich (aus Testzwecken) mal ein Element, das normalerweise einen Abschlusstag braucht, ohne Abschluss-Tag, aber mit /> notiert habe und der IE z.B. bei enem so definierten Script-tag, die Datei nicht mehr anzeigte. Da der Indernet-Explorer damit Probleme hatte, kann es eigentlich gar nicht sein, dass er XHTML verarbeiten kann. Aber Self-HTML behauptet das! Auch das Self-HTML-Beispiel funktioniert nicht.
Was meint ihr, mache ich da was falsch oder kann der IE, anders als es bei Self-HTML behauptet wird, kein XHTML?
Moin,
In Selfhtml wird behauptet, dass der IE XHTML beherrscht.
mehr oder weniger, ja.
Anscheinend aber nur, wenn man die XML-Version mit der Zeichenangabe weglässt.
Jein ... Auch mit dem XML-Prolog "versteht" er XHTML. Nur arbeitet er bei der Interpretation der Seite dann wieder im Quirks-Mode, der zu XHTML noch weniger passt als zu HTML.
Habe ich nun gemacht und alle Sonderzeichen maskiert.
Warum das? Die charset-Angabe aus dem Content-Type-Header oder ersatzweise die entsprechende meta-Angabe im head-Element wird trotzdem beachtet. Du kannst also problemlos UTF-8 verwenden, oder auch ISO-8859-1, wenn dir das besser gefällt, und die Sonderzeichen im Klartext schreiben.
Was mir aber auffiel war, dass der IE immer ganz locker nach HTML-Regeln arbeitete, obwohl die Datei die Endung .xhtml und eine Dokumenttyp-deklaration (Strict) mit uri hatte.
Hm. Woran fiel dir das auf? Woran machst du diesen Eindruck fest?
Der Oberhammer war aber, als ich (aus Testzwecken) mal ein Element, das normalerweise einen Abschlusstag braucht, ohne Abschluss-Tag, aber mit /> notiert habe und der IE z.B. bei enem so definierten Script-tag, die Datei nicht mehr anzeigte.
Ja, ich erinnere mich, da gibt es einen IE-Bug. Er interpretiert <script ...></script> problemlos, hat aber mit <script ... /> ein Problem.
Da der Indernet-Explorer damit Probleme hatte, kann es eigentlich gar nicht sein, dass er XHTML verarbeiten kann.
Naja, wenn du unter "XHTML verarbeiten" tatsächlich verstehst, dass er alle in XHTML erlaubten Notationen korrekt interpretiert (was nur konsequent wäre), dann muss ich dir zustimmen.
Also sagen wir mal: Er versteht XHTML mit kleinen Einschränkungen.
Auch das Self-HTML-Beispiel funktioniert nicht.
Welches Beispiel?
Was meint ihr, mache ich da was falsch oder kann der IE, anders als es bei Self-HTML behauptet wird, kein XHTML?
Er kann, lässt sich aber mit einigen ungewöhnlichen, wenn auch erlaubten Formulierungen aufs Kreuz legen. Ich würde mal sagen, es ist vergleichbar mit einem Zehntklässler, der einfach behauptet, er kann Englisch: Das mag gemessen am Unterrichtsniveau zutreffen, aber vom Beherrschen der Sprache ist er wohl noch ein gutes Stück entfernt. Wenn sein Gegenüber (XHTML-Dokument) auf seine eingeschränkten Fähigkeiten Rücksicht nimmt, kann die Kommunikation aber ganz gut funktionieren.
So long,
Martin
Hi,
In Selfhtml wird behauptet, dass der IE XHTML beherrscht.
mehr oder weniger, ja.
Anscheinend aber nur, wenn man die XML-Version mit der Zeichenangabe weglässt.
Jein ... Auch mit dem XML-Prolog "versteht" er XHTML. Nur arbeitet er bei der Interpretation der Seite dann wieder im Quirks-Mode, der zu XHTML noch weniger passt als zu HTML.
[url:http://de.selfhtml.org/html/xhtml/unterschiede.htm#beispiel].
Funktioniert bei mir nicht!
Habe ich nun gemacht und alle Sonderzeichen maskiert.
Warum das? Die charset-Angabe aus dem Content-Type-Header oder ersatzweise die entsprechende meta-Angabe im head-Element wird trotzdem beachtet. Du kannst also problemlos UTF-8 verwenden, oder auch ISO-8859-1, wenn dir das besser gefällt, und die Sonderzeichen im Klartext schreiben.
Nagut, sagen wir's mal so: der IE zeigt die Sonderzeichen (bei mir jedenfalls) immer richtig an. Genau wie Firefox im HTML-Modus. IM XHTML-Modus funktioniert diese Meta-Angabe im Firefox aber nicht. Also entweder bei der XML-Deklaration oder gar nicht (wahrscheinlich sieht das XHTML so vor).
Was mir aber auffiel war, dass der IE immer ganz locker nach HTML-Regeln arbeitete, obwohl die Datei die Endung .xhtml und eine Dokumenttyp-deklaration (Strict) mit uri hatte.
Hm. Woran fiel dir das auf? Woran machst du diesen Eindruck fest?
An diesem besagten Sctipt-Bereich, den ich unten beschreibe
Der Oberhammer war aber, als ich (aus Testzwecken) mal ein Element, das normalerweise einen Abschlusstag braucht, ohne Abschluss-Tag, aber mit /> notiert habe und der IE z.B. bei enem so definierten Script-tag, die Datei nicht mehr anzeigte.
Ja, ich erinnere mich, da gibt es einen IE-Bug. Er interpretiert <script ...></script> problemlos, hat aber mit <script ... /> ein Problem.
Ich glaube nicht, dass es nur für Scripts gilt. Das ist nomales XHTML, das der IE anscheinen nicht kann.
Da der Indernet-Explorer damit Probleme hatte, kann es eigentlich gar nicht sein, dass er XHTML verarbeiten kann.
Naja, wenn du unter "XHTML verarbeiten" tatsächlich verstehst, dass er alle in XHTML erlaubten Notationen korrekt interpretiert (was nur konsequent wäre), dann muss ich dir zustimmen.
Also sagen wir mal: Er versteht XHTML mit kleinen Einschränkungen.Auch das Self-HTML-Beispiel funktioniert nicht.
welches Beispiel?
Habe ich ja oben schon verlinkt.
Was meint ihr, mache ich da was falsch oder kann der IE, anders als es bei Self-HTML behauptet wird, kein XHTML?
Er kann, lässt sich aber mit einigen ungewöhnlichen, wenn auch erlaubten Formulierungen aufs Kreuz legen. Ich würde mal sagen, es ist vergleichbar mit einem Zehntklässler, der einfach behauptet, er kann Englisch: Das mag gemessen am Unterrichtsniveau zutreffen, aber vom Beherrschen der Sprache ist er wohl noch ein gutes Stück entfernt. Wenn sein Gegenüber (XHTML-Dokument) auf seine eingeschränkten Fähigkeiten Rücksicht nimmt, kann die Kommunikation aber ganz gut funktionieren.
Naja gut, er kann teilweise Dateien anzeigen, die .XHTML haben, nur bearbeitet er sie halt als HTML und vor allem funktionieren Textmarken bei dieser Endung nicht, was mit ebenfalls aufgefallen ist.
Einen schönen Montag noch!
Hallo,
Auch mit dem XML-Prolog "versteht" er XHTML. Nur arbeitet er bei der Interpretation der Seite dann wieder im Quirks-Mode, der zu XHTML noch weniger passt als zu HTML.
http://de.selfhtml.org/html/xhtml/unterschiede.htm#beispiel.
Funktioniert bei mir nicht!
ah, jetzt verstehe ich, was du meinst. Da ist es aber nicht der Dateiinhalt an sich (also das XHTML), sondern der vom Server gesendete HTTP-Header "Content-Type: application/html+xml". Dieser Header wird offiziell für XHTML-Dokumente empfohlen; der IE kennt ihn aber nicht und lehnt deshalb von vornherein ab, das Dokument überhaupt anzuschauen. Er bietet es stattdessen zum Speichern an.
Lässt man dasselbe Dokument aber mit dem Header "text/html" ausliefern oder lädt es von einem lokalen Datenträger (also nicht über HTTP), dann wird es anstandslos angezeigt.
Das ist so, als ob ich ein Buch ablehne, bloß weil ich einen Begriff im Titel nicht kenne, obwohl ich den Inhalt eigentlich verstehen würde.
Nagut, sagen wir's mal so: der IE zeigt die Sonderzeichen (bei mir jedenfalls) immer richtig an. Genau wie Firefox im HTML-Modus. IM XHTML-Modus funktioniert diese Meta-Angabe im Firefox aber nicht. Also entweder bei der XML-Deklaration oder gar nicht (wahrscheinlich sieht das XHTML so vor).
Mit der meta-Angabe bin ich mir nicht hundertprozentig sicher - aber die Charset-Angabe aus dem HTTP-Kontext wird auf jeden Fall beachtet.
Ja, ich erinnere mich, da gibt es einen IE-Bug. Er interpretiert <script ...></script> problemlos, hat aber mit <script ... /> ein Problem.
Ich glaube nicht, dass es nur für Scripts gilt. Das ist nomales XHTML, das der IE anscheinen nicht kann.
Hm, könntest Recht haben. Ich hab's gerade mit einem anderen Beispiel versucht:
<div style="height:10px; border: 1px solid #F00;" />
Das gesamte div-Element wird im IE einfach ignoriert. Dann trifft das Problem tatsächlich nicht nur das script-Element ...
So long,
Martin
Hello out there!
<div style="height:10px; border: 1px solid #F00;" />
Das gesamte div-Element wird im IE einfach ignoriert.
Wird es das? Der 5er zeigt’s an.
Schon ein seltsamer „Browser“, der von Version zu Version immer weniger kann.
See ya up the road,
Gunnar
Hallo Gunnar,
<div style="height:10px; border: 1px solid #F00;" />
Das gesamte div-Element wird im IE einfach ignoriert.
Wird es das? Der 5er zeigt’s an.
welcher 5er? Ich hab's mit einem 5.5/SP2 unter Win2k probiert und weder den Rahmen noch eine auf ähnliche Weise gesetzte Hintergrundfarbe gesehen.
Schönen Tag noch,
Martin
Hallo,
<div style="height:10px; border: 1px solid #F00;" />
Das gesamte div-Element wird im IE einfach ignoriert.
Wird es das? Der 5er zeigt’s an.
welcher 5er? Ich hab's mit einem 5.5/SP2 unter Win2k probiert und weder den Rahmen noch eine auf ähnliche Weise gesetzte Hintergrundfarbe gesehen.
Mit welchem Quellcode? Einfach nur diese eine Zeile?
Nein, D.R. hat schon recht. Der IE stellt XHTML nur dar, wenn er es als HTML rendern kann. Beispiel:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<h1>Test</h1>
<div style="height:10px; border: 1px solid #F00;" />
<p>Test</p>
</body>
</html>
Ausgeliefert mit Content-Type: text/html wird es vom IE gerendert. Aber eben wie HTML. Das P-Element ist _im_ DIV-Element.
Ausgeliefert mit Content-Type: application/xhtml+xml wird die Ressource zum Download angeboten.
Daraus folgt für mich: Der IE rendert kein XHTML. Er rendert XHTML-Code nur dann, wenn er ihn als HTML präsentiert bekommt, und dann eben auch wie HTML, siehe DIV im oberen Beispiel.
viele Grüße
Axel
Hello out there!
Das gesamte div-Element wird im IE einfach ignoriert.
Wird es das? Der 5er zeigt’s an.
welcher 5er? Ich hab's mit einem 5.5/SP2 unter Win2k probiert und weder den Rahmen noch eine auf ähnliche Weise gesetzte Hintergrundfarbe gesehen.
5.0 unter Win98 zeigt den roten Rahmen.
Aber wie Axel sagte, bei
<div style="height:10px; border: 1px solid #F00;" />
<p>Test</p>
stellt er das p-Element _im_ div dar, er erkennt '/>' nicht als Element-Ende, stört sich aber auch nicht am fehlenden End-Tag.
See ya up the road,
Gunnar
Hallo,
In Selfhtml wird behauptet, dass der IE XHTML beherrscht.
Der Internet Explorer kann XHTML insofern, dass er sogenanntes HTML-kompatibles XHTML 1.0 nach den Kompatibilitätsrichtlinien versteht.
Beim Parsen eines solchen XHTML-Dokuments benutzt er nicht den XML-Parser, sondern den üblichen HTML-Tag-Soup-Parser. Die Regeln von XML finden deshalb keine Anwendung.
Anscheinend aber nur, wenn man die XML-Version mit der Zeichenangabe weglässt.
Den Satz verstehe ich nicht.
Eine XML-Deklaration ist in HTML-kompatiblen XHTML-Dokumenten im IE möglich, aber sie schaltet den Quirks-Modus an.
Was mir aber auffiel war, dass der IE immer ganz locker nach HTML-Regeln arbeitete, obwohl die Datei die Endung .xhtml und eine Dokumenttyp-deklaration (Strict) mit uri hatte.
Ja, wie gesagt.
Da der Indernet-Explorer damit Probleme hatte, kann es eigentlich gar nicht sein, dass er XHTML verarbeiten kann.
XHTML ist dafür ausgelegt, auch unter Beachtung der Kompatibilitätsregeln in HTML-Browsern zu funktionieren.
Mathias
Hi,
Anscheinend aber nur, wenn man die XML-Version mit der Zeichenangabe weglässt.
Den Satz verstehe ich nicht.
Eine XML-Deklaration ist in HTML-kompatiblen XHTML-Dokumenten im IE möglich, aber sie schaltet den Quirks-Modus an.
Wenn ich das entsprechende Beispiel unter Self-HTML:http://de.selfhtml.org/html/xhtml/unterschiede.htm#beispiel betrachten will, zeigt er bei meinem Offline-Computer ein Fehlermeldung (wenn er die DTD nicht erreicht), oder den Quelltext (wenn die DTD Offline verlinkt wurde). Bei unserem Internet-Computer versucht er die Datei herunterzuladen. Danach öffnet sie sich selbstvertändlich im Firefox (unser Standardbrowser).
Kannst du die .XHTML-Datei vieleicht ansehen ansehen?
Einen schönen Montag noch!
Hallo,
Wenn ich das entsprechende Beispiel unter Self-HTML:http://de.selfhtml.org/html/xhtml/unterschiede.htm#beispiel betrachten will, zeigt er bei meinem Offline-Computer ein Fehlermeldung (wenn er die DTD nicht erreicht), oder den Quelltext (wenn die DTD Offline verlinkt wurde). Bei unserem Internet-Computer versucht er die Datei herunterzuladen. Danach öffnet sie sich selbstvertändlich im Firefox (unser Standardbrowser).
Kannst du die .XHTML-Datei vieleicht ansehen ansehen?
Da geht alles mit rechten Dingen zu. Das beschriebene Verhalten des IEs ist bekannt, die Datei nicht fehlerhaft.
Offline versucht IE in dem einen Fall, Dateien mit der Endung .xhtml als XML zu parsen. Dabei kommt nichts herum, er kann zwar die DTD herunterladen und seinen validierenden Parser einsetzen, aber er versteht das Dokument nicht als ein XHTML-Dokument, sondern nimmt eine unbekannte XML-Sprache an. Daher zeigt er nicht mehr als den Quelltext an.
In dem anderen Fall erkennt IE .xhtml (bzw. beim Abrufen über HTTP den MIME-Typ application/xhtml+xml) nicht als XML, sondern erkennt den Dateityp gar nicht, daher der Herunterladen-Dialog. (Selbst ausgeliefert als application/xml o.ä. kommt wieder das oben beschriebene Verhalten zum Tragen.)
Sprich, man kann dem IE nicht auf diese Weise XHTML-Dokumente vorsetzen, sondern man muss die Dateiendung .html und den MIME-Typ text/html nutzen. Das ist die sogenannte HTML-Kompatibilität von XHTML. Deswegen liegt das SELFHTML-Beispiel einmal als .xhtml und einmal als .html vor.
Mathias