EPUB: Έλεγχος εγκυρότητας Δημήτρης Σπανός, Ηλ. Μηχανικός
EPUB: Ιστορία Αλοηθηό πρόησπο ηοσ IDPF (International Digital Publishing Forum) από ηο 2007 Αληηθαηέζηεζε ηο προγελέζηερο πρόησπο Open ebook (OEB) Ιζηορηθό εθδόζεωλ Έθδνζε 2.0.1, Μάηνο 2010 Έθδνζε 3.0, Οθηώβξηνο 2011 Έθδνζε 3.0.1, Ινύληνο 2014 Βαζίδεηαη ζηα πρόησπα ΧHTML, CSS Έθδνζε 2.0.1 (EPUB2): XHTML 1.1 Έθδνζε 3.x (EPUB3): XHTML5 To EPUB3 σποζηερίδεη βίληεο, ήτο, δηαδραζηηθόηεηα θαη καζεκαηηθές εθθράζεης ζε MathML 2
EPUB: Το πρότυπο Έλα αρτείο EPUB είλαη οσζηαζηηθά έλα αρτείο ZIP ποσ περηέτεη: HTML (δνκή πεξηερνκέλνπ) CSS (παξνπζίαζε πεξηερνκέλνπ) Εηθόλεο Βίληεν Ήρν Scripts («ένας ιστότοπος μέσα σε ZIP!») Μεηαδεδνκέλα Σεηξά αλάγλσζεο θ.ά. Το πρόησπο EPUB ορίδεη επεθηάζεης θαη περηορηζκούς γηα θαζέλαλ από ηοσς παραπάλω ηύποσς περηετοκέλοσ (XHTML, CSS, SVG, scripts) 3
EPUB: Σε τι διαφέρει από έλα PDF EPUB Πξνζαξκόζηκε (ή ζηαζεξή) δηάηαμε θεηκέλνπ PDF Σηαζεξή δηάηαμε θεηκέλνπ από έλαλ ηζηόηοπο EPUB Λίζηα κε πεξηερόκελνπο πόξνπο (manifest) Καζνξηζκέλε ζεηξά αλάγλσζεο (spine) Σαθήο ηξόπνο νξηζκνύ πίλαθα πεξηερνκέλσλ (navigation document) Ιζηόηοπος Επεθηάζηκν ζύλνιν ηζηνζειίδσλ θαη πόξσλ Με δηαηεηαγκέλν ζύλνιν ηζηνζειίδσλ Πξναηξεηηθή δήισζε ιίζηαο ηζηνζειίδσλ (sitemaps) 4
EPUB: Δομή Πίλαθαο πεξηερνκέλσλ Πεξηερόκελν ζε κνξθή XHTML CSS Εηθόλεο Package Document (XML) Αξρείν κνξθόηππνπ: application/epub+zip 5
6 EPUB: Συστατικά (1/3) 1. Αρτείο κορθόησποσ (mimetype) 2. Container Document (OCF) Παξέρεη πιεξνθνξίεο γηα ην ζπλνιηθό EPUB αξρείν (π.ρ. ςεθηαθέο ππνγξαθέο, θξππηνγξάθεζε) Εθθξάδεηαη ζε XML 3. Package Document (OPF) Πεξηέρεη ηα κεηαδεδνκέλα ηεο ζπλνιηθήο έθδνζεο (ζπγγξαθέαο, εκεξνκελία, ηίηινο θιπ) Πεξηιακβάλεη ηε ιίζηα κε όια ηα αξρεία πνπ απνηεινύλ ηελ έθδνζε (manifest) Πεξηέρεη ηε ζεηξά αλάγλσζεο ησλ αξρείσλ (spine) Εθθξάδεηαη ζε XML 4. Navigation Document Απνηειεί ηνλ πίλαθα πεξηερνκέλσλ ηεο έθδνζεο Εθθξάδεηαη ζε XHTML
EPUB: Συστατικά (2/3) 5. Content Documents Πξόθεηηαη γηα ηα αξρεία κε ην θπξίσο πιηθό ηεο έθδνζεο HTML5 (XHTML ζύληαμε) SVG CSS επεθηάζεηο (λέα attributes) θαη πεξηνξηζκνί (π.ρ. ζηα επηηξεπόκελα ζηνηρεία ηεο MathML) πεξηνξηζκνί (π.ρ. δελ επηηξέπνληαη animation elements) νξηζκόο ελόο λένπ CSS profile, βαζηζκέλν ζηελ έθδνζε CSS 2.1 Scripted content documents πεξηνξηζκνί ζηα ζεκεία όπνπ επηηξέπεηαη ε ρξήζε scripting γισζζώλ (π.ρ. Javascript) 7
8 EPUB: Συστατικά (3/3) 6. Δηθόλες Υπνζηεξηδόκελα κνξθόηππα: PNG, SVG, JPEG, GIF Οπνηνδήπνηε άιιν κνξθόηππν απαηηεί ηελ ύπαξμε fallback 7. Ήτος Υπνζηεξηδόκελα κνξθόηππα: MP3, MP4 κε θσδηθνπνίεζε AAC 8. Βίληεο Τν πξόηππν δελ επηβάιιεη ηελ ππνζηήξημε θάπνηαο θσδηθνπνίεζεο βίληεν Προτεινόμενες θσδηθνπνηήζεηο: H.264, VP8 9. Άιιοη πόροη Κάζε αξρείν κε ππνζηεξηδόκελνπ κνξθόηππνπ (π.ρ. PDF) πξέπεη λα δηαζέηεη θάπνην ππνζηεξηδόκελν fallback
EPUB2 vs. EPUB3 EPUB2 XHTML 1.1 EPUB3 HTML5 Πίλαθαο πεξηερνκέλσλ (NCX) Πίλαθαο πεξηερνκέλσλ (XHTML) Υπνζύλνιν ηνπ CSS 2 CSS πξνθίι βαζηζκέλν ζε CSS 2.1 κε ζηνηρεία από CSS 3 - MathML Όιν ην πεξηερόκελν πξέπεη λα είλαη δηαζέζηκν εληόο ηνπ EPUB - Υπνζηήξημε πνιπκέζσλ - Υπνζηήξημε scripting Αξρεία ήρνπ θαη βίληεν κπνξεί λα είλαη δηαζέζηκα από εμσηεξηθή ηνπνζεζία 9
Έλεγχος εγκυρότητας (validation) Γηαδηθαζία ποσ αποθαίλεηαη γηα ηο αλ έλα EPUB αρτείο ηερεί ηοσς θαλόλες θαη περηορηζκούς ηοσ EPUB προηύποσ Δπίζεκος validator ηοσ IDPF (github.com/idpf/epubcheck) εξγαιείν γξακκήο εληνιώλ ειέγρεη ηε ζπκκόξθσζε κε ηηο εθδόζεηο 2.x θαη 3.x. ηνπ EPUB πξνηύπνπ Δπίζεκε σπερεζία ζσκκόρθωζες IDPF (validator.idpf.org) αλέβαζκα θαη έιεγρνο αξρείνπ πεξηνξηζκόο κεγέζνπο (<10 MB) Γραθηθά εργαιεία pagina EPUB-Checker (Windows/Mac/Linux) epub Checker (Mac) ρξεζηκνπνηνύλ εζσηεξηθά ηνλ επίζεκν validator ηνπ IDPF BlueGriffon EPUB3 Validator (εκπνξηθό Firefox add-on) 10
validator.idpf.org (1/3) 11
validator.idpf.org (2/3) 12
13 validator.idpf.org (3/3) Προεηδοποηήζεης
14 pagina EPUB-Checker (1/2) EPUB αρτείο ή αποζσκπηεζκέλος θάθειος
15 pagina EPUB-Checker (2/2) Σθάικα
epubcheck Λογηζκηθό ποσ αλαπηύζζεηαη από ηο IDPF Απαηηείηαη εγθαηεζηεκέλε Java Δθηέιεζε από γρακκή εληοιώλ java jar epubcheck.jar <epub_filename> Γσλαηόηεηα ειέγτοσ αζσκπίεζηες έθδοζες java jar epubcheck.jar <book_folder> mode exp Σσκπίεζε θαθέιοσ ζε epub java jar epubcheck.jar <book_folder> mode exp save Έιεγτος κεκολωκέλωλ ζσζηαηηθώλ java jar epubcheck.jar nav.xhtml mode nav version 3.0 16