"We are back" « oc.at

XHTML soll HTML ablösen, doch der Internet Explorer spielt dabei (noch) nicht mit!

Mr. Zet 09.03.2004 - 12:56 655 6
Posts

Mr. Zet

Vereinsmitglied
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12054
Vorgeschichte: Ich bin gerade dabei für eine kleine Firma eine Homepage von Grund auf neu zu schreiben. Also dachte ich mir: "Warum etwas altes verwenden, wenn es schon etwas neueres, gleichwertiges gibt?"

Gedacht, getan -> Seite in XHTML geschrieben.
Doch dies ist erst der Anfang der Geschichte:

Wie ja hinlänglich bekannt (oder in selfhtml nachzulesen), entscheiden heutige Browser je nach Dateiendung, durch welchen Parser sie ein Dokument schicken.
Ergo, wird das schönste XHTML Dokument weiterhin brav vom HTML Parser bearbeitet, solange es als .html abgespeichert wird.

Erst eine .xhtml Endung veranlasst sie dazu den X(HT)ML Parser zu bequemen.

Und genau das ist der Punkt, an dem der Internet Explorer nicht mehr so wirklich mitspielt. :D

Zuerst das notwendige Stylesheet:
click here (.txt weglöschen)

Hier ein XHTML 1.0 Srict konformes File als .html (.txt weglöschen)
click here
Sieht in IE / Mozilla nahezu ident aus.

Und hier das gleiche als .xhtml:
click here (.txt wieder weglöschen)

Mozilla: keine Veränderung zum .html

IE: ääähm ja :D so hab ich mir das eigentlich nicht vorgestellt :rolleyes: :p

watchout und ich sind daran gestern Abend über eine Stunde lang gesessen und haben versucht das ganze mittels SelfHTML und http://www.w3.org hinzubekommen, vergeblich.
Falls wir etwas wichtiges übersehen haben sollten, so bitte ich um sachdienliche Hinweise.
Allerdings schaut es mir eher so aus, als wäre der IE (wiedermal) der Schuldige ;)

PS: .(x)html und .css müssen im gleichen verzeichnis liegen

PPS: wenn IE nicht der defaultbrowser ist, dann lässt sich das .xhtml nur mit rechter Maustaste und "öffnen mit" im IE anzeigen. Bei Angabe der URL wird sonst vom IE der mit .xhtml verknüpfte defaultbrowser gestartet :D

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
sobald du das ding über einen server lädtst, zählt sowieso nur noch der mime content-type

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4478
Ist hinlaenglich bekannt .. der IE versteht den <?xml - Prolog nicht.

Also entweder malformed XML rausschicken (sprich: ohne <?xml...) oder gleich weiterhin HTML verwenden.

Andere Hacks sind User-Agent sniffing und je nachdem xml-Prolog mitschicken oder nicht.

Ich stand vor ca. 1 Jahr auch vor der Entscheidung. Da ich aber schnell gesehen habe das es nix bringt beim MSIE, bin ich mit HTML4 weitergeschwommen.

Es gibt einfach keinen wirklichen Benefit dadurch. HTML4 ist weder deprecated noch obsolete noch irgendwas sondern der defacto Standard.

Wenns darum geht das die Seiten well-formed sind fuer post-processing o.ae. stellt man halt mit Templates eigene Dienste o.ae. zur Verfuegung.

Solange man nicht XML-Applications in XHTML einbetten will, braucht mans IMHO auch nicht. Und fuer diesen Fall gibts keine Usergroup.

BooTes

Octocat!
Avatar
Registered: Sep 2002
Location: St. Egyden
Posts: 1595
der anglizismus greift über... :rolleyes: :p

Mr. Zet

Vereinsmitglied
resident spacenerd
Avatar
Registered: Oct 2000
Location: Edge of Tomorrow
Posts: 12054
Zitat von Rektal
Ist hinlaenglich bekannt .. der IE versteht den <?xml - Prolog nicht.

Sicher?

Ohne
Code:
<?xml-stylesheet href="something.css" type="text/css"?>

findet der IE ja nichtmal ein Stylesheet.
Styleangaben im Head ignoriert er.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4478

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4478
Interessantes Beispiel vielleicht zope.org . Wenn man sich die Seite ansieht:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
      lang="en">
Aber wenn ich mir den Header ansehe:
Code:
Content-Type: text/html;charset=utf-8
So what? Also eigentlich muesstest du application/xhtml+xml oder application/xml oder text/xml nehmen. Wenn du dir das mal im NS4 ansiehst (okok, gering, aber ...) dann bekommst du einen download request; du siehst nicht mal irgendwas weil der Browser nicht anzufangen weiss.

Gut, es gibt noch eine Ausnahme, fuer xhtml dokumente die laut ihrem profil kompatibel mit html401 sind, darfst du weiterhin text/html verwenden.

Nagut, aber wozu dann ueberhaupt xhtml?! XML-Dokumente die als text/html rausgeschmissen werden, sollten dann auch nicht als XML-Dokumente von Agents verarbeitet werden.

Das ist ne kurze Zusammenfassung von http://www.w3.org/TR/xhtml-media-types/ .

Und wie wir wissen kommt dazu, wenn IE ein Dokument vom Server bekommt, das nicht mit <!DOCTYPE anfaengt, schaltet er in den CSS QuirksMode um. Da ein echtes XML Dokument aber mit <?xml anfangen sollte, geht das Effektiv gar nicht.

Diese Gruende haben mich im endeffekt dazu bewogen, xhtml* als nicht interessant abzuschliessen. Fuer mich ist wichtiger es zumindest ueberall ohne Problem gelesen werden kann und das die zur Verfuegung stehenden HTML-Element semantisch richtig genutzt werden.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz