xml宣言<?xml~ で上手く表示されない phpの場合

.phpファイルに

<?xml version="1.0" encoding="Shift_JIS"?>

などのxml宣言の「 <? 」が、PHPの「 <?php 」の省略タグと解釈されて、そうなる場合がある。
PHPタグを使っていないXHTMLファイルの拡張子を「 .php 」に変えただけでも、同じ症状が出る場合は、ほぼ確実にこれ。

<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"; ?>

とphpで書き出すようにして問題解決!