alps hypertexte
application/xhtml+xml und HTML-Seiten als text/html ausgeliefert werden. Ein gutes PHP-Skript, dass diese Aufgabe erledigt, gibt es auf keystonewebsites.com.
Man kopiert sich das Code-Schnipsel in eine Datei und bindet diese dann ganz an den Anfang der Seite (vor <head>) ein. Abhängig vom User Agent liefert das Skript dann den richtigen Header aus. Für User Agents, die kein application/xhtml+xml können, wird der XHTML-Code HTML-kompatibel gemacht; aus <br />s werden dann z.B. <br>-Tags.
Für den "Content-Type"-Teil in den Meta-Tags kann man auf die Variablen $mime und $charset zurückgreifen:
<meta http-equiv="Content-Type" content="<?php echo $mime; ?>; charset=<?php echo $charset; ?>" />
alp on 2006-02-09 17:19 (Reply)
molily on 2006-02-09 23:11 (Reply)
Garvin (Homepage) on 2006-02-09 17:12 (Reply)
1. Es behebt keine anderen XML Probleme. Ungültige Entities (das beliebte www.bla.de/?id=1&nix=2) werden weiterhin ein Rendern der Seite unmöglich machen, da die XML-Engine der Browser meckert.
2. Es startet output-Buffering und durchsucht den gesamten Output nach fehlerhaftem XML ab. Das ist zum einen sehr performanceintensiv, und unterbindet zum anderen HTTP Chunked Encoding, da die gesamten HTML Daten erst nach vollständiger Abarbeitung der Seite gesendet werden.
Mein persönliche Fazit ist, solange xhtml+xml-Seiten immer noch so leicht zu einer vollständig undarstellbaren Webseite in Browsern führen, dies nicht zu nutzen. Zumindest bei dynamischen Webseiten, wo leicht mal ein Fehler einschlüpft. HTML ist immer sehr fehlertolerant gewesen, und der xhtml+xml Schritt macht diesen zentralen Aspekt derzeit noch zunichte.