Hallo,
* Man kann weder document.write() noch Level-1 DOM-Methoden verwenden.
Offenbar meinst du DOM HTML, mit dem Level hat das nichts zu tun.
DOM 1 Core kann man natürlich verwenden, obwohl es von Namespaces keine Ahnung hat. Wenn nicht, ist es ein Browserproblem, keine allgemein geltende, Implementations-unabhängige Vorschrift des W3C-DOM.
DOM HTML ist in XHTML-Dokumenten ebenfalls nutzbar. Das ist so ausdrücklich im DOM-HTML-Standard definiert. Wenn es in der Praxis nicht so ist, siehe oben.
document.write() ist soweit ich weiß die einzige Ausnahme, andere kannst du mir gerne aufzeigen: http://www.w3.org/TR/DOM-Level-2-HTML/html.html
Selbst Gruselsachen wie innerHTML, die man zunächst gar nicht mit XML in Verbindung bringen würde, funktionieren m.W. mittlerweile in echten XHTML-Dokumenten in den aktuellen Browsern.
Im Übrigen setze ich persönlich nicht application/xhtml+xml u.ä. ein, sondern immer text/html. Vorteile von XHTML liegen für mich auf der Server- und Autorenseite. Meine Scripte teste ich nicht auf Funktionsfähigkeit mit XHTML als XML. Das hat weniger mit dem Aufwand als mit den fehlenden Vorteilen des Ausliefern als XML zu tun.
Mathias