Hallo Mathias,
Wie wäre es, wenn man XHTML-Dokumente so filtert, dass wenn in der ACCEPT-Zeile vom UA application/xhtml+xml steht, dann das Dokument "normal" ausgeliefert wird, wenn nicht, dann sollen folgende Aktionen durchgeführt werden:
a) Content-Type: text/html
b) s!<?xml.[^?]?>!!g
c) s! />!>!g
d) s!xml:!!g (primär wg. xml:lang)
e) s!xmlns(?::[^=]*)?="[^"]*"!!g (ist das so überhupt korrekt, als regulärer Ausdruck? - ich meine die 2 Doppelpunkte)
f) s!<[CDATA[!<!--!g
g) s!]]>!-->!g
h) s!<!DOCTYPE[^>]*>!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">!g (meinetwegen auch Strict - hoffentlich hab' ich da alles richtig)
Somit dürfte das ganze dann auf "normales" HTML 4 runtergestrippt sein. AFAIK senden nämlich nur XHTML-Konforme Browser einen entsprechenden DOCTYPE. Natürlich könnte man die veränderten Dokumente auch Cachen, damit der Server nicht jedes Mal ungeheuer belastet wird. Hab' ich was vergessen? Sonstige Anregungen?
Grüße,
Christian
Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
-- Albert Einstein