Le fichier content.opf
Ce fichier XML a plusieurs utilisations et est très important pour la structure du livre, il est divisé en quatre parties distinctes :
Les méta-data
Le manifest
Le spine
Le guide (non obligatoire, permettant d'ajouter des informations pour certains lecteurs)
Exemple : Exemple de fichier content.opf
1
2
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookID" version="2.0">
3
<metadata> </metadata>
4
<manifest> </manifest>
5
<spine> </spine>
6
<guide> </guide>
7
</package>
8
Les méta-data
Elles permettent de décrire l'EPUB en donnant des informations, certaines d'entre elles étant même obligatoires comme le titre, le langage l'identifiant unique du livre.
Exemple : Exemple de meta-data le plus simple :
1
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
2
<dc:identifier id="uid">V2.0</dc:identifier>
3
<dc:title>Mon livre</dc:title>
4
<dc:creator>Auteur</dc:creator>
5
<dc:language>fr</dc:language>
6
</metadata>
7
Le manifest
Il va référencer tous les fichiers contenus dans le dossier OEBPS, permettant ainsi d'associer un identifiant à chacun d'eux
Exemple : Exemple de manifest
1
<manifest>
2
<item id="TOC" href="toc.xhtml" media-type="application/xhtml+xml" />
3
<item id="XHTML0000" href="text/book_0000.xhtml" media-type="application/xhtml+xml" />
4
<item id="XHTML0001" href="text/book_0001.xhtml" media-type="application/xhtml+xml" />
5
...
6
<item id="my-cover-image" href="images/cover.jpg" properties="cover-image" media-type="image/jpeg"/>
7
<item id="IMG0001" href="images/gari01.jpg" media-type="image/jpeg" />
8
...
9
<item id="CSS1" href="styles/ebook_common.css" media-type="text/css" />
10
...
11
</manifest>
12
Le spine
Il permet de ranger les différents chapitres ou autres pages xHTML dans l'ordre d'apparition dans le livre, pour cela le spine fait référence à chaque identifiant créé dans le manifest.
Exemple : Exemple de spine simple :
1
<spine>
2
<itemref idref="XHTML0000" />
3
<itemref idref="XHTML0001" />
4
<itemref idref="XHTML0002" />
5
<itemref idref="XHTML0003" />
6
<itemref idref="XHTML0004" />
7
<itemref idref="XHTML0005" />
8
...
9
</spine>
10