RSS pour les humains: XSL et votre XML est lisible

Il vous est certainement déjà arrivé de tomber sur des liens mystérieux: en cliquant une petite image labelisée rss vous arrivez sur une page illisible pour le commun des mortels. C'est un flux rss.

avant: RSS Illisible pour les humains Après: RSS lisible par les humains.

A quoi servent-ils? A suivre de l'information rapidement sans devoir charger tout un site.

Normalement, on emploie un aggrégateur de flux pour les parcourir d'un coup d'oeil. Il en existe de nombreux logiciels ou sous forme de site web.

Grâce à mon aggrégateur préféré, je surveille presque quotidiennement une bonne 50taine de sites grâce à leurs rss. Un titre m'article m'intéresse? Hop, je clique et je lis.

Un RSS lisible

Là où le bât blesse, c'est quand un utilisateur non-confirmé clique un lien pointant vers le fichier rss. Il se trouve confronté à une page incompréhesible faite de code. Ce sera une expérience vraiment mauvaise.

Evidemment, il existe une solution: un petit fichier nommé xsl qui mettra en page le fichier xml.

En pratique, il vous faudra créer ce fichier et le lier à votre flux RSS.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="gatellier.xsl"?>

On a dès lors, une belle scission entre le contenu (fichier xml), le layout (fichier xsl) et pourquoi pas les comportements (fichier js).

Dans le code du fichier XSL

Quand vous ouvrez ce fichier, qui est aussi un format xml, vous pouvez vous rendre compte qu'il contient de l'html plus certains tags xsl

En fait, il prend le fichier xml qu'il va parser et en fonction de ce qui y est, il construira un fichier html qui lui est compréhensible par votre browser et donc lisible par un humain.

La partie la plus intéressante est le code:

<xsl:for-each select="rss/channel/item">
 <xsl:value-of select="title"/>
</xsl:for-each>

Le template va parcourir le document xml à la recherche de nodes items qui sont enfants de nodes channel, eux-même enfants de items.

En fait, c'est la structure de mon fichier xml que j'ai parcouru en cherchant les éléments qui m'intéressent.

C'est comme ça que FeedBurner crée des pages lisibles à partir de vos flux RSS.

En savoir plus

Evidemment cette technique ne marche pas sur tous les browsers.

Pour mieux connaître les XSL

Comments

4 commentaires à “RSS pour les humains: XSL et votre XML est lisible”

  1. Jimmy (JYP) le 19/07/2006 à 10h00.

    En voici un bel exemple :
    http://feeds.feedburner.com/lefigaro/laune

  2. Marin le 19/07/2006 à 10h26.

    Exact Jimmy,

    Feedburner est la façon la plus facile de faire rendre son flux rss lisible: il faut juste se rendre sur l'adresse du site et y coller l'url de son flux, remplir un formulaire et c'est fait.

    A noter, Firefox 2 beta 1 "skinne" par défaut les fichiers rss, c'est vraiment impressionnant. J'attends impatiemment la sortie officielle de ce logiciel

  3. ___seb le 18/10/2006 à 14h12.

    Aucun problème chez moi avec Opera.
    Esperons que firefox utilise une mise en forme uniquement quand aucune information de mise en forme n'est disponible.

  4. Marin le 18/10/2006 à 17h14.

    oui, ils ont ajouté le support des XSLT dans la version 9 de Opéra

    Scripting

    * Added support for XSLT 1.0 and the XSLTProcessor constructor.

    http://www.opera.com/docs/changelogs/windows/900/

Laissez un commentaire