Zum Inhalt springen

XML Doctypes Standard vs. IE

Erstellt am 13. August 2004 · 4 Antworten · letzte Antwort am 9. Mai 2005

Tags: Frage

maxhb ·

Hi!
Wenn man seine Seiten XHTML konform erstellen möchte, steht man ständig vor dem Problem, dass man entweder dem Standard oder dem IE gerecht wird.

Der IE benötigt folgenden Aufbau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="iso-8859-1">

Der Standard sieht aber so aus:

<?xml version="1.0" encoding="iso-8859-1">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Gibt es eine Möglichkeit, sowohl XHTML konform zu sein und gleichzeitig den IE zufriedenzustellen?

CU
maxhb

doku ·

eine "workaround" wird z.b. auf dieser seite vorgeschlagen: http://www.carsten-protsch.de/zwischennetz/doctype/einleitung.html#browser

Quirks Mode

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Das Fehlen einer Doctype-Deklaration oder die Verwendung einer älteren HTML-Version als HTML 4 schaltet alle Browser in den Quirks Mode. Der Internet Explorer erwartet zudem die Dokumenttyp-Deklaration am Beginn des HTML-Codes. Dies führt dazu, dass der Internet Explorer bei Verwendung einer XHTML-Dokumenttyp-Deklaration mit XML-Prolog in den Quirks Mode schaltet.

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Aufgrund dieses Bugs sollte vorerst auf den XML-Prolog verzichtet werden. Der HTML-Code ist trotzdem valid. Opera hat diesen Bug in den Versionen 7.0 bis 7.03 imitiert. Ab Version 7.1 verhält sich Opera richtig und schaltet in den Standards Mode.

ich hab da aber noch mehr gesammelt, muß es aber erstmal ausgraben...

[edit]
nö, das is alles auch nix anderes. bei vielen trans- und strict-seiten wird die zeile

<?xml version="1.0" encoding="iso-8859-1"?>

einfach weggelassen. selbst z.b. bei www.alistapart.com
[/edit]

doku ·

mannomann...
ich sitze aber auch manchmal auf der leitung! peinlich, peinlich...
vielleicht sollte man mal ganz simpel an die frage rangehen, z.b. so:

[browser = msie]
config.doctypeSwitch = 1
[GLOBAL]

8-) 8-) 8-) 😉 😃

p.s.: war ne rhetorische selbstfrage. is natürlich getestet... 😉

[edit]
opera gibt sich übrigens von haus aus erstmal als internet explorer aus. das hat tatsächlich zur folge, daß in diesem fall auch bei opera der doctypeswitch ausgeführt wird!
[/edit]

doku ·

könntest du mir vielleicht im gegenzug zeigen, wie die xhtml-syntax läuft, wenn man java-applets einbinden will? :o