3.5.5.1 Flux Atom

Nous allons voir ici comment programmer les trois fichiers qui composent le flux Atom :

Pour en savoir plus sur le format Atom lui-même, rendez-vous ici.

atomHeader.xml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <link
      href=".:GetBlogURL:..:GetRelativeLocation:./atom_feed.xml"
      rel="self"
      type="application/atom+xml"
    />
    
    <link href=".:GetBlogURL:." rel="alternate" type="text/html" />
    
    <title>.:GetBlogName:. .:GetThreadName::| {value}:.</title>
    .:GetBlogMetadataIfNotNull::blog_description::<subtitle>{value}</subtitle>:.
    <id>.:GetBlogURL:..:GetRelativeLocation:.</id>
    <updated>.:GetLastEntryTimestamp::%Y-%m-%dT%H:%M:%SZ:.</updated>

    <author>
     .:GetBlogMetadataIfNotNull::author_name::<name>{value}</name>:.
     .:GetBlogMetadataIfNotNull::author_email::<email>{value}</email>:.
    </author> 

Comme on peut le voir, il y a des similitudes avec ce qui a été réalisé et montré dans le chapitre 3.5.2.

Les nouveautés ici, c'est que l'on construit des URL uniques avec GetBlogURL et GetRelativeLocation comme on peut le voir aux lignes 4, 9 et 13.

On utilise également à la ligne 14 le motif GetLastEntryTimestamp pour avoir l'horodatage de la dernière publication du site.

atomEntry.xml

1
2
3
4
5
6
7
8
9
    <entry>
        <id>.:GetBlogURL:./.:GetEntryPath:.</id>
        <title>.:GetEntryTitle:.</title>
        <link href=".:GetBlogURL:./.:GetEntryPath:." rel="alternate" type="text/html"/>
        <updated>.:GetEntryDate::%Y-%m-%dT%H:%M:%SZ:.</updated>
        <content type="xhtml">
            <div xmlns="http://www.w3.org/1999/xhtml">.:GetEntryPreview:.</div>
        </content>
    </entry>

Ici, nous utilisons à la ligne 7 GetEntryPreview. Ici ça a du sens, car nous sommes dans un flux Atom dont le but est de présenter succinctement les dernières publications. Rien ne vous empêche cependant d'utiliser GetEntryContent.

Comme dans atomHeader.xml, on crée aux lignes 2 et 4 une même URL unique qui correspond à la publication avec GetBlogURL et GetEntryPath que nous avons déjà vu dans les chapitres précédents.

atomFooter.xml

</feed>

Facile !