molily: Probleme mit XHTML

Beitrag lesen

Hallo, Hannes,

ich habe meine Webseite auf XHtml umgestellt, bzw. ich habe es versucht. Leider habe ich einige Probleme damit.
Den eigentlichen Inhalt auf xhtml umzustellen war kein Problem.
Mein Browser zeigt das Dokument auch korrekt an, auch wenn ich es als xhtml speichere.

Siehe [pref:t=53515&m=296482] folgende bzw. [pref:t=53515&m=296527]: Du solltest im öffentlichen Web XHTML nicht mit der Endung .xhtml und dem Inhaltstyp application/xml bzw. application/xhtml+xml, sondern XHTML mit der Endung .html und dem Inhaltstyp text/html verwenden (HTML-kompatibles XHTML, siehe Link).

Wenn ich die Seite aber ins Netz stelle und mit dem IE teste bekomme ich immer den die XML Struktur angezeigt.

Jeder Browser, der XHTML nicht versteht, wird Murks anzeigen, daher der Rat.

Das kann ich unterbinden indem ich die Zeile <?xml version="1.0" encoding="Shift_JIS"?> rausnehme.

Du weißt, das Shift_JIS eine Kodierung für japanische Schrift ist? Benutzen deine Dokumente tatsächlich diese Kodierung?

Dann wird die Seite korrekt angezeigt. Der XHTML Checker will aber trotzdem nicht loslegen, er beschwert sich über Text/plain Dokument.

Du meinst den W3C Markup Validator? Durch das Herausnehmen der XML-Deklaration ändert sich nicht der vom Server gesendete Content-Type, über was beschwert sich der Validator exakt? Welche Dateiendung hattest du angegeben? Wenn der Server die Datei als text/plain liefert, dann erkennt er die Endung nicht als HTML bzw. XHTML.

Der MSIE interpretiert als text/plain gesendetes HTML übrigens fälschlicherweise als HTML, insofern solltest du beispielsweise mit Mozilla gegentesten beziehungsweise mit dem genannten HTTP Trace-Werkzeug den real gesendeten Inhaltstyp überprüfen.

Jetzt habe ich extra die Metaangabe wieder reingenommen  <meta http-equiv="content-type" content="application/xml; charset=Shift_JIS" /> und den Content geändert, aber es fruchtet nicht.

Die Metaangabe ist letztlich nicht ausschlaggebend, wie gesagt. application/xml wäre sowieso nicht empfehlenswert.

ich habe mir andere Seiten im Netz angesehen, da wird überheupt kein Mime Type angegeben, aber es funktioniert.

Der MIME-Typ wird in der HTTP-Kommunikation übermittelt, im Header »Content-Type«, beispielsweise »Content-Type: text/html«. Was letztlich dort steht, ist nur relevant, wenn der XML-Prolog fehlt bzw. die encoding-Angabe fehlt oder das Dokument als HTML interpretiert wird, es außerhalb von HTTP angezeigt wird und der Browser die Kodierung nicht automatisch erkennt, wie gesagt...

<html xmlns="http://www.w3.org/1999/xhtml">

Das lang-Attribut sollte angegeben werden, am besten »doppelt«, siehe http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/#_Toc6101555 bzw. die ganzen Kompatibilitätsrichtlinien.

Siehe auch ferner http://selfhtml.teamone.de/html/xhtml/unterschiede.htm...

Grüße,
Mathias

--
»Das Usenet ist mittlerweile in Teilen unbenutzbar geworden, ein düsterer, mit Glasscherben und Hundescheiße übersäter Spielplatz für Kontroll- und Hassmaniker, deren Neurosen sich gegenseitig ergänzen.« (MH)