Oui c’est un pb général de php et non de spip
<? est interprété comme un début de section php et non comme un marquer xml.
c'est un pb relevé sur php depuis longtemps mais le changer implique de modifier tout les codes php et donc pour le moment pas d'évolution à prévoir.
la doc dit simplement ceci :
"La première chose que vous remarquerez probablement est que les balises de PHP start et end ont changé. L'ancienne forme <? > a été remplacée par trois nouvelles balises possibles :
Migration: balises start/end
<? echo "Ceci est du code PHP/FI 2.0.\n";>
Comme en version 2.0, PHP/FI accepte aussi cette variante : Migration: premières nouvelles balises PHP
<? echo "Ceci est du code PHP 3.0!\n";?>
Notez bien que la balise de fin contient désormais un point d’interrogation et un signe supérieur ">". Cependant, si vous souhaitez utiliser XML sur votre serveur, vous aurez sûrement des problèmes avec cette variante, car PHP risque d’essayer d’exécuter des balises XML. A cause de ceci, la notation suivante a été ajoutée : Migration: Nouvelles balises PHP
<?php echo "Ceci est du code PHP 3.0!\n";?>
Certains d’entre vous rencontrent des problèmes avec les éditeurs qui ne comprennent pas ce type de balises d’instruction : Microsoft FrontPage est l’un de ces éditeurs, et, pour contourner le problème, la variation suivante a été introduite : Nouvelles balises PHP
<script language="php"> echo "Ceci est du code PHP 3.0!\n";</script>
"
pour remédier à ce problème il vous faut modifier la ligne
short_open_tag = On
de php.ini (ce qui signifie que vous y avez accès :-))
; Allow the
<? tag. Otherwise, only <?php and <span class="base64" title="PGNvZGU+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwIj4KJmx0O3NjcmlwdCZndDsmbmJzcDt0YWdzJm5ic3A7YXJlJm5ic3A7cmVjb2duaXplZC4NPGJyIC8+DTxiciAvPnNob3J0X29wZW5fdGFnJm5ic3A7PSZuYnNwO09mZg08YnIgLz4NPGJyIC8+OyZuYnNwO0FsbG93Jm5ic3A7QVNQLXN0eWxlJm5ic3A7Jmx0OyUmbmJzcDslJmd0OyZuYnNwO3RhZ3MuDTxiciAvPg08YnIgLz5hc3BfdGFncyZuYnNwOz0mbmJzcDtPbg08YnIgLz4NPGJyIC8+YXZlYyZuYnNwO2NlcyZuYnNwO29wdGlvbiZuYnNwO3ZvdXMmbmJzcDtwb3V2ZXombmJzcDt1dGlsaXNlcg08YnIgLz4NPGJyIC8+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj4mbHQ7P3BocCZuYnNwOz8mZ3Q7PC9zcGFuPiZuYnNwOyZsdDtzY3JpcHQmbmJzcDtsYW5ndWFnZT0icGhwIiZndDsmbmJzcDsmbHQ7L3NjcmlwdCZndDs8L3NwYW4+CjwvY29kZT4="></span> ou <% %> pour entrer du code php mais pas
<? ?>
du coup vous pouvez mettre
<?XML ... ?>
dans vos pages
mais il vous faut remplacer
<? par <?php partout
A+jyt