XHTMLにPHPを書く場合、行頭のXML宣言がPHPタグとみなされ、エラーが出てしまう。これはサーバー側のphp.iniファイルに記述してある、short_open_tagがOnになっているから起こる問題。
「<?」でPHPが開始されるから発生する。
「<?php」でなければ開始できないようにすればよい。
回避するためには
<?php echo '<? xml version="1.0" ?>'; ?>
と、phpのPrint命令でxml宣言を書き出すか、
.htaccessファイルに以下の一行を追加すれば解決。
php_flag short_open_tag off