<?что-то там ... ?> в XML это называется
processing instructions. Насколько я понимаю, php код засовывается не в какие-нибудь там <# ... #> или @@@ ... @@@ именно для того чтобы быть XML совместимым (т.е. файлы XML содержащие processing instructions будут являться well-formed, разумеется если они и без processing instructions были тоже well-formed).
Вот только с точки зрения XML сразу после первого вопросика должно идти target name - имя прилоложения обрабатывающего инструкцию. Например:
<?xml ... ?>
или
<?php ... ?>
и т.п. И если я не ошибаюсь этот target name все же обязателен. С точки зрения совместимости с XML разумеется. Да и с другой стороны тоже вряд ли их уберут: вдруг завтра в ваших файлах появятся <?java ... ?> или <?whatever ... ?> которые тоже захотят юзать short_tags.