On peut renommer les éléments (remplacer les occurences de) « <pubdate> »
en « <dc:date> », si on remplace « <rss version="2.0"> » par
« <rss version="2.0" xmlns:dc="DCMI: DCMI Metadata Terms; ».
Oui, en général je serais assez d'accord avec les changements proposés. Avec
les modifications suivantes:
Si on veut utiliser <dc:generator>, il FAUT déclarer l'extension dc:
<rss version="2.0" xmlns:dc="DCMI: DCMI Metadata Terms;
Pour les auteurs, il faudrait remplacer <author> par <dc:creator>.
Selon les spécifications RSS 2.0, <author> exige la présence d'une adresse
d'email. Exemple: <author>allo@toi.com (Jean Dupont)</author>. Je ne pense
pas qu'il soit souhaitable de mettre les adresses d'email des auteurs dans
le backend RSS. SPIP reconnaît maintenant la balise <dc:creator> (voir:
ecrire/inc_sites).
Pour les dates, j'opterais pour <dc:date> plutôt que <pubdate> ou <date>.
Les 3 sont reconnus par SPIP (/ecrire/inc_sites). Mais...
<date> ne fait pas partie des spécifications RSS.
<pubdate> exige un format de date conforme à la RFC 822
Exemple: <pubDate>Wed, 02 Oct 2002 13:00:00 GMT</pubDate>
-> http://feedvalidator.org/docs/error/InvalidRFC2822Date
Le nom de la balise est plus explicite que dc:date, mais son format est
monolingue anglais et difficile à générer.
<dc:date> exige un format de date conforme à ISO-8601
Exemple: <dc:date>2002-10-02T10:00:00</dc:date>
-> Date and Time Formats
La balise #DATE produit: 2002-01-01 10:00:00 (sans T)
On pourrait certes écrire:
<dc:date>[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour)T][(#DATE|heures):][(#D
ATE>minutes):][(#DATE|secondes)]</dc:date>
Le problème c'est que le filtre jour génère des 1er, 2, 3... 1st, 2nd, 3th
Je n'ai pas trouvé de filtre pour produire 01, 02, 03
Mais j'ai trouvé cette fonction dans la liste spip_dev qui fait très bine le
travail. À ajouter à mes_fonctions.php3. Voir la fonction à la fin de ce
message. Ce qui donnerait maintenant:
<dc:date>[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour_zero)T][(#DATE|heures):
][(#DATE|minutes):][(#DATE|secondes)]</dc:date>
Avec ces modifications, nous avons maintenant un fil RSS 2.0 qui est
compatible vers le bas avec SPIP et les autres aggrégateurs... et qui valide
partout... :=)
André Vincent
PS - Je joins aussi un exemple de backend pour la version 1.7b2 au présent
message.
<?
/*
* +----------------------------------+
* Nom du Filtre : jour_zero
* +----------------------------------+
* Auteurs : Christophe Bersihand
backend.html (2.36 KB)