Le format RSS est un format XML, d'où la première ligne de l'exemple ci-dessous.
Explication des principales balises
Le contenu d'un document RSS se situe toujours entre les balises <rss>. Elles possèdent obligatoirement un attribut version qui spécifie la version à laquelle le document RSS est conforme.
Au niveau suivant de cette balise se trouve une unique balise <channel> qui contiendra les métadonnées du flux RSS, obligatoires ou non, ainsi que la liste des contenus.
Métadonnées
En ce qui concerne les métadonnées, trois éléments sont obligatoires dans un channel:
- <title> : Définit le titre du flux ;
- <description> : Décrit succinctement le flux ;
- <link> : Définit l'URL du site correspondant au flux.
D'autres éléments optionnels existent comme :
- <pubDate> : Définit la date de publication du flux ;
- <lastBuildDate> : Définit la dernière date de modification du flux ; (RFC 822)
- <image> : Permet d'insérer une image dans le flux ;
- <language> : Définit la langue du flux.
Contenu : Description de chaque article
Pour chaque article, une balise <item> est ajoutée dans notre document.
Dans cette balise se trouvent les données correspondantes à l'actualité sous forme de balise. Les balises les plus courantes sont :
- <title> : Définit le titre de l'actualité ;
- <link> : Définit l'URL du flux correspondant à l'actualité ;
- <pubDate> : Définit la date de l'actualité ; (RFC 822)
- <description> : Définit une description succincte de l'actualité ;
- <guid> : Définit de manière unique l'actualité.
Selon la DTD RSS 2.0, il doit y avoir au moins un <title> ou une <description> dans un item et le reste des balises est optionnel.
D'autres balises existent comme :
- <author> : Définit l'adresse électronique (mail) de l'auteur ;
- <category> : Associe l'item à une catégorie ;
- <comments> : Définit l'URL d'une page de commentaire en rapport avec l'item ;
Il peut également arriver que l'on trouve d'autres balises dans un flux RSS, grâce aux espaces de noms (namespaces). On peut par exemple inclure de nouvelles fonctionnalités comme cela a été fait pour iTunes. Voir à ce sujet la spécification RSS 2 [1]