Création de flux RSS - Fichier XML invalide

WRInaute accro
Bonsoir,

Je me lance dans la grande aventure du flux RSS.
Ma base est 1two News.
J'ai créé mon script php de génération de fichier XML (avec une requête sql).
Le fichier XML se créé mais est déclaré invalide quand je tente de le lire avec Thunderbird ou Firefox.
Je crois que le problème vient du fait que mon champ 'Description' contient du HTML.

Comment est-ce que je peux m'affranchir de ce problème ?

Mon flux : -http://www.thewindpower.net/news/flux.xml

Merci d'avance à ceux qui sauront m'éclairer...

Michaël
 
WRInaute discret
salut,

oui ça doit venir de ton HTML... Pour incorporer du HTML dans ton flux il faut utiliser une balise spéciale dans le <description>

Code:
<description>
  <![CDATA[
  <?php echo $desc;?>
  ]]>
</description>

tout est dans le "![CDATA[" à respecter à la lettre. Enfin aussi dans le format de fichier je crois (moi j'utilise le RSS 2.0)...
 
WRInaute impliqué
idem je serai curieu d'avoir une réponse concrete sur les différents formats de flux rss et quelles routines utilisées pour les parser.
Pour ma part j'utilise une fonction telle que celle ci pour la description
Code:
function format_caractere($s_desc){
$car_speciaux = array('À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê',
'ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý',"<br />","\n""<br>",'€','&');
		$car_normaux  = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I',
'I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y'," "," "," ","euro","et");
		return str_replace($car_speciaux, $car_normaux,stripslashes($s_desc));
}
 
WRInaute accro
smrhp a dit:
salut,

oui ça doit venir de ton HTML... Pour incorporer du HTML dans ton flux il faut utiliser une balise spéciale dans le <description>

Code:
<description>
  <![CDATA[
  <?php echo $desc;?>
  ]]>
</description>

tout est dans le "![CDATA[" à respecter à la lettre. Enfin aussi dans le format de fichier je crois (moi j'utilise le RSS 2.0)...

Super
Je vais essayer ça
Merci
 
WRInaute accro
narayana a dit:
idem je serai curieu d'avoir une réponse concrete sur les différents formats de flux rss et quelles routines utilisées pour les parser.
Pour ma part j'utilise une fonction telle que celle ci pour la description
Code:
function format_caractere($s_desc){
$car_speciaux = array('À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê',
'ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý',"<br />","\n""<br>",'€','&');
		$car_normaux  = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I',
'I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y'," "," "," ","euro","et");
		return str_replace($car_speciaux, $car_normaux,stripslashes($s_desc));
}

C'est nécessaire d'utiliser cette fonction ?
Il y a des soucis d'affichage sinon ?
 
WRInaute discret
Leonick a dit:
Ne plus mettre de balises html dans la balise description
http://validator.w3.org/feed/check.cgi? ... 2Fflux.xml

Théoriquement, les flux rss servent à donner un aperçu d'un article, pas d'avoir l'intégralité de son contenu. :wink:

en même temps c'est pas mal des fois d'avoir un aperçu avec une vignette d'une image, ou alors 2-3 icones pour un téléchargement d'un doc sous différents formats (word, pdf etc.)... Bref, c'est possible et faut pas s'en priver !! En tant qu'utilisateur j'aime avec un contenu plus améliorer qu'un titre et 3 mots dans mes flux ;)
 
WRInaute accro
Je comprends bien qu'il y a une norme à respecter, mais ma description est au départ une présentation d'un article du web avec son lien.
Si je dois faire un résumé du résumé, il ne me reste plus grand chose.
Par ailleurs, les flux auxquels je suis inscrits en sont bourrés... La pratique semble commune, non ?

Nota : tu as passé au validator un flux encore buggé, méchant ! :D
 
WRInaute accro
Normalement, un flux doit donner envie d'en savoir plus en se connectant au site.
Regarde le flux de WRI :wink:
il n'y a pas la totalité du post de départ.
 
WRInaute passionné
Je crois qu'un des problèmes est que tu ne respectes pas les spécifications.

par exemple ta balise <link></link> ne contient pas une URL mais du texte :

Code:
<link>Siemens en Ecosse</link>

Ici sont les spéc :
http://blogs.law.harvard.edu/tech/rss :

Code:
title: The title of the item.	(Venice Film Festival Tries to Quit Sinking)
link: The URL of the item.	(http://nytimes.com/2004/12/07FEST.html)
description: The item synopsis.	(Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.)

Tu peux mettre du HTML dans la description (techniquement il n'y a pas de problèmes, après c'est un débat de "puriste" qui existe depuis longtemps)

Soit tu encode les caractères :

Code:
This is a &lt;em&gt;lovely left angle bracket:&lt;/em&gt; &amp;lt;


Soit tu utilises CDATA :

Code:
<![CDATA[This is a <em>lovely left angle bracket:</em> &lt;]]>

Exemples pompés de :
Developing Feeds with RSS and Atom (O'Reilly)
 
WRInaute accro
En réponse à Léonick et Monty : ok, j'ai compris maintenant. Je n'avais pas bien saisi le rôle de la balise Description.

Merci !
 
WRInaute passionné
En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...
 
WRInaute accro
Fab le Fou a dit:
En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...

Le message est passé et je vais virer la mise en forme ce soir.

Et puis je suis mécanicien de formation, pas informaticien du tout, donc pas taper moi...
 
WRInaute discret
Fab le Fou a dit:
En théorie, un fichier xml ne doit pas contenir d'information de mise en forme, donc de html, non ?

Sinon, ça me contraint à une certaine mise en forme lorsque j'affiche le flux sur un autre site, à moins de le traiter pour virer toutes les balises html, mais là on marche sur la tête...

ben disons que si ton flux RSS parle principalement de photos ou d'image et que tu souhaites y incorporer 2-3 liens qui ne sont pas forcément ceux de l'article, ça sert bien quand même... par exemple le flux de flickr contient bien du HTML dans description...
-http://www.flickr.com/services/feeds/photos_public.gne?tags=colorful&format=rss_200
(et un tel flux sans une image en miniature comme "résumé", ben il n'aurait aps trop d'intérêt !).
 
WRInaute accro
perso. je préfère un flux standard sans rien sauf un petit résumé (1 phrase).

le plus souvent je ne lis jamais sur mon lecteur rss je clic sur le lien pour en savoir plus..je sais que si le flux est dans mes favoris, il a au moins le mérite d'être ouvert pour en savoir plus sur le thème.
 
WRInaute accro
Il y a tout de même un truc que je ne dois pas comprendre.
J'utilise Thunderbird comme lecteur de flux et je vois deux choses :

- le titre du message (comme l'objet d'un mail)
- le corps du message (qui je pense correspond au lien indiqué dans le flux)

(+ date, auteur, je passe là dessus)

Comment mettre des images là dessus ???
Pas dans le titre car c'est seulement un titre
Pas dans le contenu destinataire du lien ? Si ? Ce serait alors une page à part entière créée uniquement pour le flux.

Je suis un peu perdu là !
 
WRInaute discret
thierry8 a dit:
perso. je préfère un flux standard sans rien sauf un petit résumé (1 phrase).

le plus souvent je ne lis jamais sur mon lecteur rss je clic sur le lien pour en savoir plus..je sais que si le flux est dans mes favoris, il a au moins le mérite d'être ouvert pour en savoir plus sur le thème.

ok. Donc comme souvent c'est encore une histoire de goût ;)... Moi j'ai plutôt tendance à ne lire que le lecteur RSS et à ne cliquer que si ça m'intéresse. Et pour savoir si une photo ou image va m'intéresser un petit aperçu en miniature m'est grandement utile... Je me suis désabonné de plusieurs flux dont la thématique principale était "images" car ils n'avaient pas de miniatures dans le flux ! ;)
 
Discussions similaires
Haut