XHTML und Browser

Status
Nicht offen für weitere Antworten.

son gohan

Erfahrenes Mitglied
Hallo,

unter http://www.w3.org/People/mimasa/test/xhtml/media-types/results findet man eine Übersicht zu Browsern und ihrer Unterstüzung gegenüber XHTML.

Ausser beim IE habe ich festgestellt das fast alle Browser den Media Typen application/xhtml+xml welcher doch für XHTML nötig ist korrekt darstellen.

Daher lautet meine Frage:

Macht es Sinn mit Hilfe des PHP Codes von Thomas Scholz :
PHP:
 <?php
	function ua_accepts_xhtml() {
		/* Pr&uuml;ft, ob an den UA XHTML ausgeliefert werden darf.
		 * Gibt TRUE zur&uuml;ck, wenn ja, FALSE, wenn nicht. */
		/* In dubio pro HTML. */
		$xhtml = FALSE;
		$check_pattern = '|application/xhtml\+xml(?!\s*;\s*q=0)|';
		/* Behauptet der UA, XHTML zu k&ouml;nnen? */
		if( ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') and isset($_SERVER['HTTP_ACCEPT']) and preg_match($check_pattern, $_SERVER['HTTP_ACCEPT']) ) {
			$xhtml = TRUE;
		}
		/* Ãltere Geckos haben ein paar Crashbugs mit XHTML. */
		if( isset($_SERVER['HTTP_USER_AGENT']) ) {
			if( preg_match("|rv\:0.9|", $_SERVER['HTTP_USER_AGENT']) ) {
				$xhtml = FALSE;
			}
		}
		return $xhtml;
	}
/* Anwendung. */
	$content_type = ua_accepts_xhtml() ? 'application/xhtml+xml' : 'text/html';
	$encodung = 'utf-8';
	header('Content-Type: '.$content_type.'; charset='.$encoding);
	header('Vary: Accept, User-Agent');
	if( ua_accepts_xhtml() ) {
		echo '<?xml version="1.0" encoding="iso-8859-1"?>';
	}
?>

welcher entweder den Media Typen für XHTML oder den für Html inklusive einer kleinen eingebauten Ergänzung von Gumbo welche die XML-Deklaration weitergibt bei XHTML Unterstüzung, Seiten als XML Dokumente anzubieten beim heutigen Browser Stand?

Abgesehen davon ob man zusätzliche XML Techniken im Dokument anwebdet, sondern vielmehr dem Lerneffekt halber?

Oder tendiert Ihr mehr dazu die Seiten zwar als XHTML zu programmieren, aber nur als HTML ohne XML-Deklaration auszugeben, der Sicherheit halber vor XML Parserfehlern uvm.?


gruß
feh
 
Gerade weil die heutigen Browser noch so unterschiedlich in ihrer Unterstützung von Web-Standards sind, ist solch eine Vorgehensweise erforderlich, wenn man XHTML-Dokumente ausliefern möchte. Wäre der Internet Explorer heute so weit, wie manch ein Browser bereits vor Jahren, oder würden die Benutzer diesen Nachteil des Internet Explorers erkennen, wäre so manche haarsträubende Diskussion und lang ausgetüftelte Anstrengung überflüssig.

Und wenn du schon ein XHTML-Dokument ausliefern möchtest, dann doch bitte richtig – sonst kannst du gleich bei HTML bleiben.
 
Hallo,

Und wenn du schon ein XHTML-Dokument ausliefern möchtest, dann doch bitte richtig – sonst kannst du gleich bei HTML bleiben

Genauso sehe ich das auch, und mit Hilfe des PHP Codes für Media Typ und XML-Deklaration, habe ich eigentlich auch die Lösung dafür.

Aber jetzt habe ich einen Hinweis bekommen, das der Netscape Brwoser 7.0 eine meiner Seiten nicht darstellen soll und stattdessen einen XML Parserfehler aufruft.

Mich wundert das aber sehr, weil ich selber den Netscape 7.1 habe und damit sowie auch mit dem Mozilla 1.0 und Opera 7.54 keine XML Parserfehlermeldung bekommen habe. Deswegen bin ich auch davon ausgegangen, das die Seiten in jedem XML unterstützenden Brwoser Fehlerfrei dargestellt werden müssten, weil das XML Markup doch auch viel strenger und genauer ist?
 
Hallo,

um mein Problem etwas genauer zu deffienieren habe ich eben noch diese Meldung erhalten,

HTML:
 Der Netscape 7.0-XML-Parsing-Fehler bezieht sich in deinem Source auf Zeilennummer 442, Spalte 71:
 <div class="padingobenone">&nbsp;</div>
Was ist daran falsch?

Und warum mekert nur der NN 7.0 und der NN 7.01 nicht? Woher soll ich denn wissen ob nicht andere auch irgendwelche Probleme haben?

grüße
feh
 
feh: also so ein Div ohne Inhalt macht meines Erachtens ohnehin nicht sehr viel Sinn, also nimm es doch einfach raus.

Ich find's schade, dass Microsoft hier wieder einmal als schlechtes Beispiel vorangehen muss. Kein Mensch kann sich frei entfalten, wenn ein paar unfähige Programmierer aus Redmond ein Produkt herstellen, das 90% aller Surfer verwenden. Das kann doch nicht der Gedanke von Tim Berners-Lee gewesen sein. :(
 
Hallo,

im Prinzip ist es ja kein leeres div sondern ein Abstandhalter Tag mit Leerzeichen &nsp; drine.

Aber das ist ja nicht das schlimmste an der Sache, viel schlimmer finde ich ja das ich es in ewig und drei Tagen nicht gefunden hätte diesen Fehler weil es in meinen drei XML Browsern zu keiner Fehlermeldung kam deswegen. Das heist ich bin eigentlich davon ausgegangen, das wenn auch nur ein XML Brwoser meine Seite ohne Fehlermeldung annimmt, das dann alle Seiten von XML Browser angenommen werden.

Aber das scheint nicht der Fall zu sein, sondern vielmehr ist es wohl so, dass der Netscape 7.0 Brwoser anders handelt als der 7.1. Das ist sehr verwirend das ganze, das man nicht mal eine XML Seite richtig prüfen kann und sich sicher sein kann das Sie immer angezeigt wird.

Dieses Dilema führt mich zu der traurigen Entscheidung, das ich mein Vorhaben XHTML jetzt nach 1 wöchiger studierarbeiten abbrechen muss/werde, weil es mich nicht mehr weiterbringt.

Ich werde aber trotz der Sinnlosigkeit meine Seiten soweit es mir die Validatoren zusprechen nach XHTML Markup erstellen und nur als text/html ausgegen, schade drum, hätte sonst bestimmt Spaß gemacht so originale XML Seiten zu erstellen. :(

grüße
feh
 
feh: Das liegt dann aber nicht an einem Fehler deinerseits, sondern an den Netscape-Entwicklern. Du kannst es nie allen Recht machen, irgendein Browser wird deine Seite immer falsch verstehen.

Übrigens kannst und solltest du für Abstände margin und padding verwenden, dann kannst du dir das div sparen und die Seite ist hoffentlich auch im Netscape 7.0 fehlerfrei anschaubar.
 
Hi,

ja aber wenn ich es schaffen sollte den Netscape 7.1 zu überwinden, wer weis dann schon welche Browser weiterhin Probleme haben. Anfangs habe ich ja gedacht wenn ein Browser XHTML unterstützt wird er auch immer die gleiche Seite interpretieren ohne Fehlermeldungen, aber das scheint nicht so zu sein und das verunsichert mich in kann mir ja nicht jede Brwoserversion laden zum testen dafür sind das zu viele.

Das sieht für mich so aus als ob das noch schlimmer wäre als diese nerfige Boxmodel Problem oder ähnliche vom IE.

Und zu letzt kommt noch hinzu das ich ein Javascript nicht DOM-gerecht in meine XHTML Seite einbauen kann.

Ich weis nicht das mit dem Javascript ist vielleicht nicht ganz so ein großes Problem aber die Parserfehlermeldungen werden mich sicher immer stören. Vielleicht muss ich noch etwas warten bis ich XHTML mache, auch wenn ich mein neues Projekt so gerne jetzt schon in original XHTML gemacht hätte.

grüße
feh
 
Tut mir leid, aber ich verstehe dich nach wie vor nicht. Die Nachteile, die du hast, hast du genau auch bei HTML. Auch da gibt es unter Garantie immer irgendeinen Browser, der etwas nicht versteht und es falsch darstellt. Das ist nunmal so, wenn man für verschiedene Programme etwas schreiben muss, die nicht alle gleich funktionieren. Liegt in der Natur der Sache. Was da jetzt so XHTML-spezifisch dran sein soll, seh ich irgendwie nicht.
 
Hi,

also wenn es ja nur kleine Unterschiede im Design sind in den Browsern ist das ja nicht so schlimm wie ein Parser Fehler und eine leere Seite.

Deswegen habe ich einen Missen mit XHTML und auch ein wenig wegen Javscript das man in schwerstarbeit DOM gerecht machen muss.

Und ich habe ja nicht mal die Möglichkeit eine XHTML Seite so zu testen, dass ich danach sagen kann, jetzt wird die garantiert in allen gängigen XHTML Browsern laufen! Oder kennst du eine solche Prüfung, bis jetzt habe ich die Seiten im Schema Validator, normalen Validator und durch meine gängigen Browser mit XML-Parser getestet und keine Fehler gefunden und doch bekomme ich von jemand anderes glücklicherweise dem Hinweis das die Seite im Netscape 7.1 nicht geht. Bei einem Projekt mit mehreren Seiten kann das sehr ärgerlich sein wenn ein kleiner Fehler der übersehen würde sich auf alle Seiten verteilt, weil man keine Möglichkeit zur 100 % Prüfung hat.

Bei normalen HTML Seiten kann man aber davon ausgehen das zumindest im Fehlerfall ein etwas verzerte Seite zu sehen ist mit Links usw. aber wenigstens keine leer Fehlerseite.
 
Status
Nicht offen für weitere Antworten.
Zurück