XHTML 1.1 validieren - Important Warning!

Status
Nicht offen für weitere Antworten.

Radhad

Erfahrenes Mitglied
Hallo zusammen,

ich verstehe iene Meldung beim W3C Validator nicht. Und zwar geht um diese Prüfung: http://validator.w3.org/check?uri=http//www.codegroup.de/

Da steht folgendes:
Code:
Conflict between Mime Type and Document Type

The document is being served with the text/html Mime Type which is not a registered media type for the XHTML 1.1 Document Type. The recommended media type for this document is: application/xhtml+xml

Using a wrong media type for a certain document type may confuse the validator and other user agents with respect to the nature of the document, and you may get some erroneous validation errors. How to fix this problem? One of the following techniques should help:

    * If you are serving a static file on a Web server, changing its extension should help. Use e.g .xhtml for XHTML or .mathml for MathML.
    * You may need to reconfigure your Web server. This Setting up MIME Types tutorial has instructions for Apache, Tomcat and IIS.
    * If the document is generated dynamically, the scripting language should allow you to set up the mime type: this article on MIME Types and Content Negotiation has examples in PHP, Perl, and ASP.

Versteht jemand den Fehler und weiß, wie man das behebt? Im Quelltext wird eigentlich application/xhtml+xml angegeben - aber wie es aussieht als meta-Tag. Sollte man das evtl. besser als PHP-header() setzen? Ich bin ziemlich ratlos ^^



Gruß Radhad
 
Die Angabe des Inhaltstyp im HTTP-Header und im Dokument selbst sind unterschiedlich (siehe Web-Sniffer-Ergebnis). Da die im HTTP-Header befindlichen Angaben eine höhere Gewichtung haben, würde also „text/html“ genommen. Dieser Inhaltstyp sollte allerdings laut der Spezifikation zu XHTML 1.1 nicht verwendet werden (siehe XHTML Media Types), stattdessen sollte der Inhaltstyp „application/xhtml+xml“ verwendet werden. Dieser wird allerdings von älteren Webbrowsern (unter anderem auch Internet Explorer) nicht unterstützt, da ihnen auch die grundlegende XHTML-Unterstützung fehlt. Dies bedeutet wiederum, dass richtiges XHTML (mit dem korrekten Inhaltstyp ausgeliefert) für die breite Masse eigentlich nicht geeignet ist. Der Schluss daraus: verwende normales HTML.
 
Also quasi Rückschritt auf XHTML 1.0 ? :( Gefällt mir weniger - werde ich wohl oder übel mal testen müssen mit verschiedenen Browsern (IE 5.5 & höher, Opera 8 und höher, Firefox 1.5.x & höher, Apple Safari for Win) ... Wenn es mit denen allen klappt bin ich schon zufrieden. Falls der Opera 8 und der IE 5.5 durchfallen, ist es zu verschmerzen, Firefox 1.5.x eigentlich auch, da die Zahl der User rückläufig ist.

Wie kann ich denn den Content-Type im HTTP Response Header ändern? Ist das eine Apache Einstellung?
 
Zuletzt bearbeitet:
Weswegen soll es denn unbedingt XHTML 1.1 sein? Tatsache ist, dass XHTML von der Mehrzahl (vor allem der Internet Explorer) noch nicht unterstützt wird.

Den Standard-Inhaltstyp kannst du übrigens mit folgender Direktive festlegen:
Code:
DefaultType application/xhtml+xml
 
Mein Ziel ist es eigentlich up-to-date zu entwickeln und die Webstandards einzuhalten.

Sollte die Seite mit dem Internet Explorer fehlerhaft sein, würde ich umschwenken auf XHTML 1.0 strict, aber nicht auf HTML 4.01 oder irgendwas dazwischen, was nicht valide ist (was ja meistens der Fall ist).

Ich will ja nicht >5% des "Marktes" auschließen, aber bei unter 5% wär es mir ziemlich egal (zumal diese Seite nicht kommerziell sein soll).
 
Mein Ziel ist es eigentlich up-to-date zu entwickeln und die Webstandards einzuhalten.
Die Weiterentwicklung von XHTML (XHTML 2) ist derzeit eingestellt – eben weil die Webbrowser-Entwickler mit der XHTML-Unterstützung nicht so schnell nachkommen. Stattdessen wird gerade an HTML 5 gearbeitet, die direkter Nachfolger von HTML ist.

Sollte die Seite mit dem Internet Explorer fehlerhaft sein, würde ich umschwenken auf XHTML 1.0 strict, aber nicht auf HTML 4.01 oder irgendwas dazwischen, was nicht valide ist (was ja meistens der Fall ist).
Willst du damit sagen, dass es schwieriger ist ein valides HTML-Dokument zu schreiben als ein valides XHTML-Dokument?
 
Nein, ist mehr eine Sache der Gewohnheit. Generell fällt aber auf, dass die meisten professionellen Webseiten durch einen Validator rasseln, da darauf nicht geachtet wird. Jeder Browser wird dann auch höchstwahrscheinlich im Quirks Mode laufen.

Nur muss man halt testen, ob wirklich Probleme auftreten, wenn man XHTML 1.1 oder XHTML 1.0 auftreten. Bisher konnte ich so etwas nicht beobachten.

HTML 4.01 würde ich persönlich nicht verwenden, weil eigentlich veraltet ist. XHTML 1.0 ist aber dazu kompatibel - XHTML 1.1 nicht. Daher hab ich kein Problem mit "try & error" an der Stelle.
 
Generell fällt aber auf, dass die meisten professionellen Webseiten durch einen Validator rasseln, da darauf nicht geachtet wird.
Eine Studie aus dem Jahr 2001 zufolge waren gerade einmal 0,7% aller untersuchten Webseiten valide; ein aktueller Schätzwert wäre etwa 3%. Ein valides (X)HTML-Dokument ist also eher eine Ausnahme als die Regel.
Dein Engagement, nur valide Dokumente auszuliefern, ist daher schon lobenswert.

HTML 4.01 würde ich persönlich nicht verwenden, weil eigentlich veraltet ist.
HTML 4.01 ist die derzeit aktuelle HTML-Version und somit keineswegs veraltet. XHTML 1.0 ist ja auch nicht die Nachfolgeversion von HTML 4.01 sondern nur das XML-konforme Gegenstück zu HTML.
 
Aber XHTML 1.0 ist doch kompatibel zu HTML 4.01 und gaaanz langsam schwenkt man doch um Richtung XML-Konformität oder sehe ich das falsch? Ich meine, nicht umsonst brachte man neue Standards in XHTML Form raus anstatt eine HTML Version 5.0 ...
 
Status
Nicht offen für weitere Antworten.
Zurück