Hallo Harald,
Ich setze auf meinen Seiten auch PHP ein,
bei dem _zusätzlich_ short_open_tag aktiviert ist,
und so kommt es, da bei:
<?xml version="1.0" encoding="UTF-8"?>
gemeint wird, das abschließende ?> würde einen PHP-Block schließen, wo keine ist!
Nein, der Fehler rührt daher, dass <? für den Start eines PHP-Blocks gehalten wird.
Wie kann ich das umgehen?
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
Andererseit solltest Du Dir überlegen, ob Du XHTML-Dokumente mit XML-Deklaration ausliefern _willst_. Denn die XML-Deklaration setzt den Internet Explorer in den quirks rendering mode, andere Browser bleiben dagegen im standards complaint rendering mode; das führt dann zwangsläufig zu Kompabilitätsproblemen. Ich empfehle daher, XHTML-Dokumente so aufzubauen:
<!DOCTYPE .....>
<html xmlns="...">
...
und die XML-Deklaration komplett wegzulassen.
Viele Grüße,
Christian