En cas de bug sur les flux RSS exportés par Mediawiki...
Un article de FormaVia.
Un détail technique pour régler un petit problème qui peut apparaître sur les flux RSS exportés par Mediawiki (ça vaut pour d'autres CMS utilisant des extensions), et génère une erreur Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe :
Sommaire |
Champs d'application
Tout d'abord pour cadrer le sujet, quelques exemples de flux exportables par mediawiki
- flux standard de mediawiki (modifs) : http://www.formavia.fr/wiki/index.php?title=Special:Modifications_r%C3%A9centes&feed=atom
- autre flux standard (nouvelles pages) http://www.formavia.fr/wiki/index.php?title=Special:Nouvelles_pages&feed=rss&namespace=0 (note au passage : on peut produire un flux par espace de nom avec le dernier paramètre)
- flux NON-standard (nécessite une extension, en l'occurrence WikiArticleFeeds) : http://www.formavia.fr/wiki/index.php?title=EvolutionWiki&action=feed&feed=rss
- encore un flux non-standard (cette fois-ci généré dynamiquement en associant une autre extension : DPL, qui parse les articles selon divers critères : ici présente un liste sous forme de blog, en fonction de certains tags) : http://www.formavia.fr/wiki/index.php?title=Blog_Veille_et_usages&action=feed&feed=rss
Symptômes
- si vous rencontrez inopinément une erreur "Erreur d'analyse XML : instruction de traitement XML..."
- et que cette erreur est apparue suite à l'installation d'une nouvelle extension (on ne remarque pas forcément cela, car il faut vérifier l'affichage des flux dans un navigateur, mais netvibes par exemple les accepte sans soucis
→ il y a de fortes chances que cela provienne de l'une des extensions installées
- Explication :* les fichiers XML doivent impérativement commencer par la déclaration xml ( < ? xml* .... ), sans qu'aucun caractère soit écrit avant : un seul espace ou saut de ligne avant le "<" et le flux RSS n'est plus valide !
..et cela provient généralement d'une extension mediawiki qui comporte une balise php fermante, avec quelques lignes 'vides' en-dessous : un espace se cache facilement là-dedans.
Remède
les balises php fermantes sont facultatives : vérifier les extensions (voire LocalSettings.php), et supprimer toutes les balises php fermantes.
"Portabilité"
c'est également valable pour tous les CMS utilisant un système d'extensions / plugins / addons, / modules (on se perd dans ces noms ;) ) - le problème semble récurrent chez les utilisateurs de WordPress
Référence utilisée
http://feedvalidator.org/docs/error/WPBlankLine.html
Signaler cette page 
