Logo BelRSS
|| Petites nouvelles du RSS (en Belgique francophone)
Site | Blog

 Afficher votre flux RSS mis en forme grâce à XSL

Lorsqu'un visiteur affiche le flux RSS de votre site dans son navigateur, celui-ci le présente sous forme d'arborescence structurée (comme tout document XML affiché dans un navigateur). Cet affichage, assez rebutant, surprend l'utilisateur bêta peu familier des documents XML.

Afin de proposer une lecture claire et agréable de vos flux RSS, ceux-ci peuvent être affichés comme de simples pages HTML grâce à la combinaison de deux feuilles de style différentes :

Le langage XSL (dit aussi XSLT), par une série de règles de transformation, remplace les éléments XML et leurs attributs en balisage HTML. Permettant simplement le contrôle de l'affichage des données à l'écran, ces règles ne modifient en rien votre document RSS. Un processeur XSL installé sur l'ordinateur client (dans le navigateur) se charge de transformer la source XML (ici le fichier RSS) en conjonction avec la feuille de style XSL.

Voici par exemple le même fichier RSS 2.0 en version classique et avec mise en forme.

Utiliser la feuille de style XSL de BelRSS

La feuille de style XSL peut s'appliquer à n'importe quel flux RSS 0.9x ou 2.0 à condition que celui-ci soit correctement construit et respecte les standards. Il vous suffit de l'attacher au document XML qui contient votre flux.

L'appel à la feuille de style XSL doit être inséré entre la déclaration XML et l'élément racine <rss version="."> . Le reste du document ne subit aucune modification.

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="http://belrss.monrezo.be/rss2htm.xsl"?>
<rss version="2.0">

NB : le format RDF ou RSS 1.0 n'accepte pas cette feuille de sytle car la structure du fichier XML est tout à fait différente.

Créer votre propre transformation XSL

Voyons comment la feuille de style XSL ci-dessous va transformer votre fichier RSS en une page HTML, plus lisible pour l'utilisateur.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="rss/channel">
    <html>
      <head>
        <title><xsl:value-of select="title" /></title>
        <link rel="stylesheet" href="http://belrss.monrezo.be/css/belrss.css" type="text/css" />
      </head>
      <body>
        <h1><xsl:value-of select="title" /></h1>
        <div class="item">
        <xsl:for-each select="item">
          <h2><xsl:value-of select="title" /></h2>
          <p><xsl:value-of select="description" /></p>
          <p><a href="{link}"><xsl:value-of select="link" /></a></p>
          <p class="pubdate" ><xsl:value-of select="pubDate" /></p>
        </xsl:for-each>
        </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Télécharger le fichier source rss2htm.xsl

En savoir plus

Top | 

BelRSS - Dernière mise à jour de cette page : 23-Aoû-2006