Gunnar Bittersmann: 2 Fragen bzgl des MIME Typen und xhtml

Beitrag lesen

Hello out there!

bei *.xhtml läuft die Datei durch den xml-parser und demnach muss man für die Zeichenkodierung z.B. <?xml version="1.0" encoding="ISO-8859-1" ?> angeben.

SOLLTE, nicht MUSS. Die Angabe ist erforderlich, wenn sie nicht durch ein externes Transportprotokoll (z.B. HTTP-Header) geliefert wird. [XML :2000@de §4.3.3]

BTW: da ist ein Übersetzungsfehler: „Bei Abwesenheit von Informationen, die durch ein externes Transportprotokoll […] geliefert werden, ist es ein Fehler, wenn […] Ebenso ist es ein Fehler, wenn […]“ ist im Original [XML:2000 §4.3.3] ein Satz; in der Übersetzung wird nicht klar, dass die der zweite Satz auch auf die „Abwesenheit von Informationen“ bezieht.

Laut 4. Auflage [XML:2006 §4.3.3] ist es sogar ein „kritischer Fehler“.

Ist es allerdings eine *.html Datei, muss man z.B. <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> angeben.

SOLLTE, nicht MUSS. [HTML401 §5.2.2]

Nun muss man bei "content=" auch den MIME Typen angeben,

SOLLTE, nicht MUSS.

[…] was aber irgendwie in keinster Weise das Dokument beeinflusst - der IE stellt mir bei "application/xhtml+xml" die Seite trotzdem ganz normal dar.

Weil der UA der HTTP-EQUIV-Angabe bei vorhandener Angabe im HTTP-Header keine Beachtung schenkt. [HTML401 §5.2.2]

Also müsste es doch eigentlich überflüssig sein, da den MIME Typen anzugeben oder? Oder weswegen wird der da angeben?

Damit die Angabe auch ohne HTTP-HEader vorhanden ist; wenn sie bspw. lokal gespeichert wird und dann die Kopie aufgerufen wird.

  1. Wenn man xhtml Dokumente als *.html abspeichert, werden diese ja normal als html geparst, dadurch gehen ja völlig die Vorteile von xml verloren,

Nein, es verbleiben noch viele Vorteile von XML für den Webseitenautor. [</archiv/2007/2/t147284/#m961973> und dortige Links]

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)