2009-12-02 4 views
4

J'ai créé un flux RSS avec Java Rome lib. Le projet est proche de la fin. Mais j'ai trouvé un comportement étrange chez certains clients RSS.RSS articles commander, est-ce important?

Je pense que c'est plus un problème des clients RSS, mais je veux m'assurer.

Rome contient des éléments dans une liste, de sorte que les derniers éléments sont à la fin de la liste. J'ai ouvert mon flux dans mes clients RSS (Firefox et RSS Bandit) et j'ai constaté qu'ils sont dans l'ordre inverse (techniquement c'est chronologique, mais inversé par rapport à l'ordre que j'ai utilisé). Je pensais que c'est un bogue de client RSS (j'utilise habituellement Google Reader), mais j'ai vérifié certains flux sur Internet et j'ai vu que la raison pour laquelle ils affichent correctement est qu'ils ont des articles inversés (les plus anciens en haut).

Mais les analyseurs XML ne doivent pas s'appuyer sur l'ordre des éléments. Pourquoi les clients RSS utilisent-ils l'ordre des articles plutôt que des dates pour trier les articles? Et, le plus important, devrais-je réorganiser ma liste d'articles?

Edit: J'ai trouvé une solution facile:

 entries.add(0,entry); // :-) 

Mais la question sur le comportement du client "correct" reste.

+0

Les analyseurs syntaxiques XML généraux doivent absolument s'appuyer sur l'ordre des nœuds. Voir par exemple 'firstChild' du DOM. –

+0

Droite. J'avais tort quand il s'agit de parseurs XML. Donc, il n'y avait pas de question. Notez seulement que le design de Rome dans cet aspect est pauvre. Ils ont le même bug dans le tutoriel. –

Répondre

7

L'un des problèmes sous-jacents de RSS est qu'il n'y a pas vraiment une seule norme dont l'utilisation du champ est bien définie. Je m'inquiéterais beaucoup plus de ce que les clients et les serveurs semblent réellement faire, pas de ce que vous pensez qu'une théorie leur dit de faire ...

0

J'ai une question: n'est-ce pas un problème avec un client et publiez-vous? la date correctement pour chaque article. Idéalement, les clients devraient trier en utilisant la date de publication et chaque élément devrait avoir un GUID pour que les clients l'identifient correctement.

+0

J'ai vérifié quelques flux sur Internet tous sont triés par ordre inverse. Je pense que les clients ignorent les dates. ceci est mon noeud: Utworzono Nowa grupe 2009-12-02T09: 29: 59Z 2009-12-02T09: 29: 59Z Obserwuję teraz grupe: un 2009-12-02T09: 29: 59Z Je pense que la date est en cor format rect (je pense que Rome lib fonctionne correctement). Revers trier les éléments résolus problème. –

+0

Je ne suis pas d'accord, le stackoverflow n'est pas trié en sens inverse, ni beaucoup de sites: http://stackoverflow.com/feeds/question/1830580 –

+0

Pour moi le tri inversé ressemble à une solution de contournement, pas une solution –