Al encontrar <? te lo pretende parsear como código php y como tal no es correcto y te lanza el error sintáctico.
Tienes dos opciones; escribir esa línea desde php
<?php echo "<?xml version=\"1.0\" encoding=\"utf-8\"?".">"; ?>
...o bien omitir esa línea. Si vas a servir el documento como text/html en vez de como aplicación xml+xhtml puedes omitirla. De hecho el usar esa línea provocará que Internet explorer salte a modo quirks y se comportará de forma distinta con css que el resto de navegadores.
Para definir el juego de caracteres a usar te sirve el uso de la meta
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Un saludo