Der XML Tag ist optional und ein Dokument wird nicht ungültig falls dieser fehlt!
Hier die Syntaxregeln (hoffentlich verstehst du es):
document ::= prolog element Misc*
prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
Quelle: XML Sprachreferenz
Auch ist es falsch XHTML als text/html auszuliefern:
Zitat:
The 'text/html' media type [RFC2854] is primarily for HTML, not for XHTML. In general, this media type is NOT suitable for XHTML. However, as [RFC2854] says, "[XHTML1] defines a profile of use of XHTML which is compatible with HTML 4.01 and which may also be labeled as text/html".
[XHTML1], Appendix C "HTML Compatibility Guidelines" summarizes "design guidelines for authors who wish their XHTML documents to render on existing HTML user agents". The use of 'text/html' for XHTML SHOULD be limited for the purpose of rendering on existing HTML user agents, and SHOULD be limited to [XHTML1] documents which follow the HTML Compatibility Guidelines. In particular, 'text/html' is NOT suitable for XHTML Family document types that adds elements and attributes from foreign namespaces, such as XHTML+MathML [XHTML+MathML].
XHTML documents served as 'text/html' will not be processed as XML [XML10], e.g. well-formedness errors may not be detected by user agents. Also be aware that HTML rules will be applied for DOM and style sheets (see C.11 and C13 of [XHTML1] respectively).
Quelle: Unterthema der XHTML Sprachreferenz
Was so viel heißt wie, dass XHTML auch als xhtml ausgeliefert werden muss da es sonst eben kein XHTML ist und auch nicht als XHTML geparst wird sondern eben als HTML. Zwar kann das gemacht werden falls der Client mit XML und / oder XHTML nichts anfangen kann (oder nichts damit anfangen kann wenn man es richtig macht), weil es eben in den meisten Fällen kompatibel zu HTML ist und so auch als HTML geparst werden kann aber dennoch muss korrektes XHTML das auch als XHTML (besser XML) geparst wird auch als XML ausgeliefert werden! Genauso ist es fehlerhaftes verhalten, wenn etwas als text/html ausgeliefert wird es als XML oder XHTML zu parsen, genauso wie es falsch ist Bilddateien auf einmal als Audio abzuspielen. Dass auch das gemacht werden kann ist kein Anzeichen auf Richtigkeit.
Dass der IE hier eindeutig falsches Verhalten an den Tag legt und somit nicht wirklich XML oder XHTML fähig ist sollte nun denke ich klar sein! Deine vermeintlichen XHTML Dokumente werden übrigends nicht als XHTML oder XML verarbeitet sondern wie gewöhnliche HTML Dokumente nur als HTML!