^Fabrice^^ wrote:
Bonjour,
Le fichier de syndication du site Libération à dù changer. Depuis quelques jours, dans l'interface privée, le site syndique avec la description, en revanche le titre de chaque item syndiqué n'apparaît pas.
un oeil sur leur fichier RSS 2.0, laisse supposer qu'ils ont rajouté un <![CDATA[... ]]> dans la balise titre.
http://www.liberation.com/rss.php
exemple :
<title><![CDATA[Le Lay encodera en Mpeg2]]></title>
SPIP ne traite peu pas bien
cette balise avec <![CDATA[... ]]> ?
En effet SPIP ne traite pas du tout le CDATA dans le titre. Pour le moment il le traite uniquement dans la balise <description>.
L'utilisation de <![CDATA[... ]]>
dans une balise titre est-elle standard ?
Oui et non.
Le CDATA ne vient pas des spécifications rss, mais du XML. Le XML traitant les caractères < et &, le seul moyen d'inclure ces caractères dans une chaîne de caractères sans que le parser XML n'interprète ces caractères (en détectant le début d'une balise avec < par exemple) est d'encapsuler la chaîne dans <![CDATA[... ]]>. Comme le rss2.0 est du XML, si on veut être strictement orthodoxe, il faut utiliser le CDATA dans ce cas là.
Malheureusement les spécifications du rss2.0 ne sont pas très strictes, et ne disent pas (ou du moins je n'ai pas trouvé) si on peut utiliser CDATA, ni si on doit utiliser CDATA.
Les spécifications de rss1.0 sont plus précises et demandent que le texte à l'intérieur des balises soit du PCDATA (parsed character data). Donc le rss1.0 ne devrait pas contenir de CDATA. Mais si un webmestre installe des CDATA dans son fil rss1.0, il vaudrait mieux qu'on puisse le lire, même si il a tort de mettre des CDATA.
Je vais tester une petite modif de inc_sites.php, et je reposte (ce soir ou demain...)
Cordialement
Yves Grenier