Ajouter des balises à un flux RSS 2.0

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Ajouter des balises à un flux RSS 2.0

Message par SB »

J'ai remarqué que certains fils RSS 2.0 comme celui de Sage arrivent à placer des balises dans leur description (<a>, <ul>, etc...). J'ai essayé mais dans mon cas elles ne sont pas prises en compte. Je suppose que c'est du au namespace mais comme il ne s'affiche pas impossible de le reprendre. De plus je n'en ai pas trouvé sur Internet qui fonctionnent, pas plus que je ne suis capable d'en créer un.

Voici donc mes deux questions :
  • Est-ce bien un problème de namespace ?
    Si oui, où puis-je en trouver un tout fait ?
Merci
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Non, ce n'est pas un problème de namespace.

Il faut que tu encodes les entités xml basiques de ton code html :
< en <
> en >

Avec ces 2 là çà doit suffire je pense (sinon peut être '&' aussi si tu t'en sert)

exemple : <p> et non <p>
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

martin a écrit :Non, ce n'est pas un problème de namespace.

Il faut que tu encodes les entités xml basiques de ton code html :
< en <
> en >
:shock: Ah ben oui.
J'y ais même pas pensé. Faut que j'arrête de travailler la nuit, ça ne me réussit pas. :mrgreen:

Merci.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

SB a écrit :J'ai remarqué que certains fils RSS 2.0 comme celui de Sage arrivent à placer des balises dans leur description (<a>, <ul>, etc...).
Beurk, du RSS 2.0 :?
SB a écrit :Voici donc mes deux questions :
  • Est-ce bien un problème de namespace ?
Il n'y a pas de namespace en RSS 2.0. :roll:
Ni de doctype d'ailleurs. On est à la limite de la définition du XML là.
martin a écrit :Il faut que tu encodes les entités xml basiques de ton code html :
< en <
> en >
Sinon tu peux mettre le tout dans une section CDATA.

Exemple : <description><![CDATA[<p>mon titre</p>]]></description>


Sinon tu as aussi Atom qui permet de faire cela bien plus proprement :

Code : Tout sélectionner

<content type="xhtml" xmlns="http://www.w3.org/1999/xhtml">
	Ceci est le <strong>contenu</strong> de mon entrée ! & toc !
</content>
CF http://www.atomenabled.org/developers/syndication/ :wink: (j'ai pas vérifié que mon exemple était valide, mais je pense qu'il doit l'être).
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

Message par HP »

Oui, y a enfin une vraie alternative "correspondant" au RSS 2.0 avec Atom 1.0 ...
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Encore un problème. Les deux solutions (<->/<![CDATA[[-]]>) fonctionnent et permettent des liens dans un agrégateur mais mon flux sert également de page dans le site par l'adjonction d'une feuille XSLT ( http://suresnes.croix-rouge.fr/actualites/fluxrss.php ) et là ça ne va plus. Dans les deux cas les < et > sont affichés en toute lettre et donc pas de lien (cf les articles en bas de page "Article sur l'épicerie sociale" et "Prochaines formations aux premiers secours"). Y a-t-il une solution ?
calimo a écrit :Beurk, du RSS 2.0 :?
Il n'y a pas de namespace en RSS 2.0. :roll:
Ni de doctype d'ailleurs. On est à la limite de la définition du XML là.
J'ai suivi le lien en bas de message vers les spécifications du format atom et je n'ai pas vu de doctype non plus. Je suis prêt à changer s'il y a des vrais avantages, mais il faut que la présence d'un namespace ne m'empêche pas de placer d'autres balises inexistantes dans les spécifications comme je le fais pour le moment. Est-ce possible ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

SB a écrit :J'ai suivi le lien en bas de message vers les spécifications du format atom et je n'ai pas vu de doctype non plus.
Non, mais tu as un namespace (plus puissant que le doctype, qui souffre de nombreuses limitations).
SB a écrit :Je suis prêt à changer s'il y a des vrais avantages, mais il faut que la présence d'un namespace ne m'empêche pas de placer d'autres balises inexistantes dans les spécifications comme je le fais pour le moment. Est-ce possible ?
Au contraire !
Tu définis un namespace XHTML dans un morceau de ton code. Tout ce qui est à l'intérieur est en XHTML :)

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Exemple de flux</title>
	<link href="http://www.monsite.example/"/>
	<author>
		<name>SB</name>
	</author>
	<id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

	<entry>
		<title>Un article</title>
		<link href="http://www.monsite.example/2005/04/20/article"/>
		<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
		<summary>Dans cet article nous allons...</summary>
		<content xmlns="http://www.w3.org/1999/xhtml"><p>Dans cet article nous allons
			montrer comment utiliser du <em>xhtml</em> dans une entrée.</p></content>
	</entry>

</feed>
Dans le content, c'est du xhtml. Tu ne peux plus mettre de balises atom ! C'est ce qu'on appelle une utilisation judicieuse des namespaces.

Tu peux également définir xmlns:xhtml="http://www.w3.org/1999/xhtml" et dans le content tu préfixera simplement tes balises xhtml par xhtml:

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml">
(...)
	<entry>
		<title>Un article</title>
(...)
		<summary>Dans cet article nous allons...</summary>
		<content><xhtml:p>Dans cet article nous allons
			montrer comment utiliser du <xhtml:em>xhtml</xhtml:em> dans une entrée.</xhtml:p></content>
	</entry>

</feed>
Ça peut s'avérer plus léger que de remettre le namespace à chaque fois si tu as de multiples <content> (ou autres) avec chaque fois peu de balises xhtml dedans :wink:

En fait la seule chose un peu compliquée avec atom c'est les id (qui doivent être une URI permanente, il y a de bonnes explications liées sur la page que j'indiquais) (ou alors peut-être que c'est moi qui ait fait les choses de manière compliquée, je ne sais plus :lol: le validateur m'avait fait mettre des tag: et je ne retrouve pas ça dans la spec...)

Il me semble que ça correspond parfaitement à ta demande :wink:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Et alors SB ? Tu as essayé ?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Pas encore, surbooké en cette fin de semaine. Demain.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Ben Atom pas top. :(
Outre le fait que mon problème n'est pas résolu (le lien correct dans un agrégateur est toujours écrit en toutes lettres dans la feuille de style), j'en ai récolté d'autres. Le lien relatif dans l'agrégateur ne semble pas être supporté (href="../xxx" renvoie vers un fichier local file:///c:...) et je n'arrive pas à extraire l'attribut href de link pour mettre dans les url des titres qui du coup sont tous les mêmes.
http://suresnes.croix-rouge.fr/actualites/fluxrss2.php (atom 1.0) à comparer à http://suresnes.croix-rouge.fr/actualites/fluxrss.php (RSS 2.0)

Si quelqu'un arrive à le corriger, sinon je reste au RSS 2.0 qui pose moins de problèmes.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

SB a écrit :Ben Atom pas top. :(
Outre le fait que mon problème n'est pas résolu (le lien correct dans un agrégateur est toujours écrit en toutes lettres dans la feuille de style),
Hein ? Pardon ? J'ai pas tout compris là :oops:
SB a écrit :j'en ai récolté d'autres. Le lien relatif dans l'agrégateur ne semble pas être supporté (href="../xxx" renvoie vers un fichier local file:///c:...)
C'est possible, d'ailleurs il est recommandé de toujours mettre les liens absolus.

Je dois avouer que je ne suis pas du tout un spécialiste des transformations xslt :?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

calimo a écrit :
SB a écrit :Ben Atom pas top. :(
Outre le fait que mon problème n'est pas résolu (le lien correct dans un agrégateur est toujours écrit en toutes lettres dans la feuille de style),
Hein ? Pardon ? J'ai pas tout compris là :oops:
Alors je réexplique mon problème. Mon fil RSS (ou ATOM pour le nouveau) sert également de page XHTML dans le site au moyen d'une feuille de style XSL. Jusque là aucun problème, tout fonctionne correctement. Le souci est venu à partir du moment où j'ai voulu introduire des liens. Ils ne fonctionnent pas avec la feuille de style qui les écrit en toute lettre, c'est à dire qu'au lieu d'avoir
j'ai
<a href="http://suresnes.croix-rouge.fr">un lien</a>


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Sur la page http://suresnes.croix-rouge.fr/actualites/fluxrss2.php ça a l'air bon non ? Sur quelle page XHTML est-ce que ça ne passe pas ? Quelle est la transformation appliquée ?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Ben non.
J'ai évité de mettre des liens partout vu qu'ils apparaissent en clair. Regarde les articles du 10/03 et 25/02.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

SB a écrit :Ben non.
J'ai évité de mettre des liens partout vu qu'ils apparaissent en clair. Regarde les articles du 10/03 et 25/02.
Celui-ci par exemple : http://suresnes.croix-rouge.fr/actualit ... x.php?id=4 ? Il me semble normal (visiblement c'est ce que tu as l'air de dire).

Par contre ce que je vois de pas normal c'est le

Code : Tout sélectionner

<a href="{atom:link/atom:href}" title="Voir l'article : {atom:title}">
<xsl:value-of select="atom:title"/>
</a>
pour Atom. Visiblement l'adresse n'est pas récupérée. Je ne sais pas pourquoi, c'est étrange en effet. Peut-être à cause des {} ? (je ne pense pas).
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités