Du brauchst auch im
HTML keine &
uml;. Das wird nur benötigt, wenn kein Charset angegeben wird. Das #248 ist eh falsch, da das der
Ansi Code des "ö" ist, also nicht UTF-8. In diesem Fall müsste die Codierung des
XML auf ISO-8859-1 gesetzt werden und dabei auch die Datei als
ANSI 8 Bit gepeichert werden.
Wenn im HEADER des
XML als Charset UTF-8 steht oder komplett fehlt (Standard ist bei
XML UTF-8), muss auch das Dokument entsprechend als UTF-8 gespeichert werden, damit die Umlaute als UTF-8 codiert im File stehen, sonst kommt es zu ungültigen Zeichen oder Konvertierungsfehlern (UTF-8 Umwandlung zurück in Uniocode oder
ANSI).
Die
HTML Entitäten für die Umlaute braucht es schon lange nicht mehr, weil dazu das Charset im Header verwendet wird.
Im
XML muüssen nur die Standardzeichen des
XML-Formats umgewandelt werden. (& < > / = ", etc.) Beispiel: "Müller&Meier" -> "Müller&Meier"