Atom est à la fois un format de syndication ainsi qu’un protocole de publication et de notification et possède un mécanisme de reconnaissance des flux Atom. L’espace de noms définissant ses éléments de base se situent à l’adresse http://www.w3.org/2005/Atom.
Notons que chaque donnée horaire et de datation doit respecter la norme RFC 3339, que xml:lang (indique la langue
utilisée dans un texte lisible par un humain) et xml:base (c’est l’adresse URL de base des URL relatives)
sont supportés et que toutes les valeurs doivent être en texte plein (pas d’entité encodé en
HTML), hormis les indications contraires. Un flux Atom contient un élément feed possédant des
méta-données suivies d’éléments entry. Chaque élément entry est
une nouvelle information consistant, par exemple, en une actualité ou un commentaire de blog.
* Les éléments, obligatoires, recommandés et optionnels, communs aux éléments feed et entry sont :
Obligatoires
- id : identifiant URI.
- title : titre du flux. Il peut être le nom du site Web. Il possède un attribut
optionnel type qui
définit l’encodage de l’information. Par défaut, sa valeur est text mais
peut être html ou xhtml.
- updated : indique la date et l’heure de la dernière modification.
Recommandés
- author : auteur du flux. Il peut être supprimé si chaque entry en
possède un.
Il contient un élément name obligatoire et deux éléments uri et email optionnels.
- name contient
le nom de l’auteur
- uri contient l’adresse de son site
- email est
son adresse email.
- link : indique le lien de la page Web qui lui est associée. Il possède un
attribut href et
cinq attributs optionnels (rel, type, hreflang, title et length).
- href est
l’adresse URL de la source référencée.
- rel est le type de relation
du lien (alternate
- une représentation alternative du flux ou de l’entrée -, enclosure - lien
vers une source ayant une grande taille de données comme de la vidéo ou du son -, related
- un
document en relation avec le flux ou l’entrée -, self -
le flux lui même - ou via - la
source de l’information fournie dans l’entrée).
- type indique le type de média
de la ressource.
- hreflang indique
la langue de la source référencée. title fournit le titre du lien.
- length est
la taille de la ressource en octet.
Optionnels
- category : spécifie la catégorie du flux ou de l’entrée. Ces derniers peuvent posséder
plusieurs catégories. Il contient un attribut term obligatoire et deux attributs scheme et label optionnels.
- term identifie
la catégorie.
- scheme identifie le schéma de catégorisation grâce à une
URI.
- label est
une étiquette compréhensible par l’homme pour son affichage.
- contributor : nom du ou des contributeurs au flux ou aux entrées. Plusieurs éléments contributor peuvent êtres
insérés. Il contient un élément name obligatoire et deux éléments uri et email optionnels.
- name contient
le nom du contributeur.
- uri contient l’adresse de son site.
- email son
adresse email.
- rights : fournit une information sur les droits du flux ou de l’entrée. Il possède
un attribut optionnel type qui définit l’encodage de l’information. Par défaut,
sa valeur est text mais
peut êtrehtml ou xhtml.
* Les éléments propres à l’élément feed sont :
Optionnels
- generator : identifie le logiciel utilisé pour la génération du
flux.
- icon : icône carré du flux.
- logo : large image fournissant une représentation du flux. La largeur doit être
deux fois plus large que haute.
- subtitle : contient un sous-titre ou une description du flux. Il possède un attribut
optionnel type qui
définit l’encodage de l’information. Par défaut, sa valeur est text mais
peut être html ou xhtml.
* Les éléments propres à l’élément entry sont :
Recommandés
- content : il possède un attribut optionnel type qui définit l’encodage de l’information.
Par défaut, sa valeur est text mais peut être html ou xhtml.
- summary : il possède un attribut optionnel type qui
définit l’encodage de l’information.
Par défaut, sa valeur est text mais peut être html ou xhtml.
Optionnels
- published : contient la date et l’heure de la première publication.
- source : contient les méta-données (tous les éléments enfants
de feed hormis
les éléments entry) du flux d’origine si l’entrée actuelle provient d’un
autre flux.
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Example Feed</title>
<link href="http://example.org/"/>
<updated>2003-12-13T18:30:02Z</updated>
<author>
<name>John Doe</name>
</author>
<id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
<entry>
<title>Atom-Powered Robots Run Amok</title>
<link href="http://example.org/2003/12/13/atom03"/>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2003-12-13T18:30:02Z</updated>
<summary>Some text.</summary>
</entry>
</feed>
Exemple de code Atom 1.0 |