Im Normalfall erlaubt PHP den Skriptbereicht mit <? ?> (den sogenannten Short-Tags) einzugrenzen, da diese Variante schneller zu schreiben ist - als <?php ?> - und man außerdem einfach Variablen ausgeben kann (<?=$variable ?>). Für PHP ist es aber unmöglich diese Notation von einer XML-Deklaration (<?xml version="1.0" ?>) zu unterscheiden; der Parser glaubt daher, dass es sich hierbei um PHP-Code handelt, der natürlich syntaktisch nicht korrekt ist.
Um das Parsen der Short-Tags abzuschalten, muss man den Eintrag short_open_tag in der php.ini auf off setzen. Danach wird nur mehr Code innerhalb der XML-konformen Processing Instructions (PI) <?php ?> bzw. dem <script language="php"> ... </script> Tag interpretiert.
Alternativ kann man natürlich auch die XML-Deklaration mittels echo ausgeben:
<?php echo '<?xml version="1.0" ?>'; ?>






