<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Ok, dann mache ich das und bekomme dann als Fehlermeldung dazu:Line 2, Column 62: there is no attribute "lang".
Es gibt kein lang-Attribut in XHTML 1.1. Das lang-Attribut ist aus XML-Sicht ein spezifisches HTML-Relikt. Im XML-Universum gibt es das allgemeine, XML-Derivat-übergreifende Attribut lang im globalen XML-Namensraum (Präfix xml), das solche Insellösungen ersetzt. XHTML 1.1 ist als reine XML-Sprache ohne Altlasten und Abwärtskompatibilität gedacht, die nur von Browsern mit fähigen XML-Parsern verarbeitet werden soll, deshalb gibt es dort nur xml:lang.
Doppelt muss man die beiden nur angeben, wenn man abwärtskompatibles XHTML 1.0 schreibt. Das solltest du auch tun, denn XHTML 1.1 ist nicht auf Kompatibilität mit den bestehenden HTML-Browsern ausgelegt und eignet sich nicht für die Auslieferung mit dem MIME-Typ text/html (die Dateiendung .html führt bei den meisten Webservern zu diesem MIME-Typ). Eigentlich wäre für XHTML-1.1-Dokumente der MIME-Typ application/xhtml+xml angebracht, der zu einer Verarbeitung als XML führen würde. Allerdings brächte das viele Änderungen mit sich, die du beachten müsstest, und nicht alle Browser unterstützen diesen Modus überhaupt bzw. gleich gut.
Schreibe also besser HTML-kompatibles XHTML 1.0, das du als HTML (text/html) an alle Browser sendest.
http://de.selfhtml.org/html/xhtml/unterschiede.htm
http://jendryschik.de/wsdev/einfuehrung/xhtml/kompatibilitaetsrichtlinien
Ellenlange Diskussionen und Elaborate zum Thema hättest du auch im Forumsarchiv gefunden.
Mathias