data2check-Dokumentation – Der EpubCheck

1. Der EpubCheck

Das OpenSource-Tool "EpubCheck" dient der Validierung von EPUB-Dokumenten. Es wird geprüft, ob die Datei die allgemeinen Standards erfüllt und es sich somit um ein gültiges EPUB handelt, dass auf allen Endgeräten fehlerfrei funktioniert. Geprüft wird unter anderem die OCF-Container-Struktur, das OPF- und OPS-Markup sowie die Konsistenz bei der internen Referenzierung. Dieses Tool wurde vom idpf (International Digital Publishing Forum) entwickelt und ist unter https://github.com/IDPF/epubcheck frei zugänglich.

Als Ergebnis erhalten Sie einen XML-Prüfbericht. Weitere Informationen zum Prüfergebnis finden Sie unter 2.2 Die Ausgabe.

1.1 Wie EpubCheck ein EPUB-Dokument verarbeitet

(Die folgenden Informationen wurden ins Deutsche übersetzt und stammen aus dem EpubCheck wiki.)

EpubCheck setzt bei der Validierung eines Dokuments eine Reihe sogenannter "Checker" ein, von denen jeder einen bestimmten Teil der EPUB-Dateien untersucht. Bei der Prüfung der Datei kommt ein OCFChecker zur Validierung der OCF-Struktur zum Einsatz, ein OPFChecker zur Validierung der OPF-Datei und so weiter.

Die folgenden Abschnitte beschreiben, welche Aufgaben diese Checker haben. Es wird zusammengefasst, was das Tool macht, nicht aber, wie es funktioniert. Details zur Funktionsweise der Checker werden hier nicht beschrieben.

1.1.1 Die Prüfung der Datei

Zuerst wird die ZIP-Datei validiert. EpubCheck stellt sicher, dass die ZIP-Datei einen "ZIP header" zu Beginn aufweist. Außerdem prüft das Tool, ob sich die mimetype-Datei an der korrekten Stelle befindet und den richtigen Inhalt hat. Technisch funktioniert diese Prüfung so, dass die Datei ab dem 30. Byte ausgelesen und nach "mimetype" durchsucht wird; anschließend wird sie ab dem 38. Byte ausgelesen mit der Suche nach den Medientyp application/epub+ZIP.

Nach diesen Prüfungen wird die Datei als ZIP-Ordner geladen. Dies schlägt fehl, wenn die ZIP-Datei beschädigt ist, mangelhafte Informationen im Header enthält oder anderweitig unvollständig ist.

1.1.2 Die Dateien im ZIP-Ordner parsen und validieren

Die meisten Dateien in einem EPUB-Dokument sind XML-Dateien. Diese XML-Dateien werden auf Wohlgeformtheit und Validität geprüft.

Für jedes der auf XML basierenden Dateiformate (OPF, NCX, XHTML, DTBook und SVG) verfügt das Tool über eine oder mehrere XML Schema-Dateien, in denen die Struktur der jeweiligen Datei definiert wird. EpubCheck validiert die Dateien gegen diese Schemas. Zusätzlich werden einige Dinge geprüft, die nichts mit der Validität einzelner XML-Dateien zu tun haben, aber für ein valides EPUB-Dokument erforderlich sind. Dazu gehört zum Beispiel zu prüfen, ob ein Bild, das in der XHTML-Datei aufgerufen wird, auch tatsächlich in der ZIP-Datei existiert und im Manifest-Element aufgelistet ist.

1.1.3 Prüfung des Inhalts im OCF-Container

Die Dateien encryption.xml, container.xml und signatures.xml, falls vorhanden, werden gegen die entsprechenden Schemas geprüft. Der OCFChecker ruft außerdem die OPF-Datei auf.

1.1.4 Die OPF-Datei

  • EpubCheck validiert die OPF-Datei gegen das Schema.
  • Prüft, ob der unique-identifier auch tatsächlich eine echte ID in der OPF-Datei referenziert.
  • Überprüft das Vorhandensein der NCX-Datei.
  • Überprüft jedes Item-Element im Manifest-Element daraufhin, ob
    • es im ZIP-Ordner enthalten ist.
    • ungültiger Inhalt im media-type-Attribut vorkommt.
    • der Wert text/html für das media-type-Attribut verwendet wurde, was für EPUBs nicht vorgesehen ist.
    • veraltete media-types in OPS-Dokumenten verwendet wurden.
    • neuere media-types in OEBPS 1.2-Dokumenten verwendet wurden.
    • Fallbacks für unbekannte media-types vorhanden sind.
  • Öffnet jedes Item und führt den passenden Checker (OPSChecker für XHTML, DTBookChecker für DTBook, BitmapChecker für Bilder, etc.) aus.
  • Überprüft jedes referenzierte Item-Element im Spine-Element daraufhin, ob
    • es für das Spine-Element gültig ist.
    • es einen Kern-Medientyp aufweist oder zumindest mit einem Fallback-Item ausgestattet ist.

1.1.5 Weitere Datei-Formate

XHTML-Dateien
EpubCheck validiert die XHTML-Datei gegen die Schema-Dateien.
Prüft, ob jedes referenzierte Bild im ZIP-Ordner enthalten ist.
DTBook-Dateien
EpubCheck validiert die DTBook-Datei gegen das Schema.
Bitmap-Prüfung
EpubCheck validiert den Image-Header und den Image-Type.
NCX-Datei
EpubCheck validiert die NCX-Datei gegen das Schema.

2. Ein Dokument prüfen

Unter dem Menüpunkt »Dokumente« können Sie die Prüfung eines Word- oder InDesign-Dokuments anhand einer vorher erstellten Konfiguration durchführen. Außerdem können Sie hier Ihre EPUBs mit dem EpubCheck prüfen.

2.1 Der Prüfprozess

Mit Klick auf den Button »Datei auswählen« (siehe Abb. 1) gelangen Sie in Ihren Dateimanager, wo Sie ein zu validierendes EPUB-Dokument auswählen können (siehe Abb. 2).

ACHTUNG: Alle Formate der hochzuladenden Dateien müssen unbedingt XML-kompatibel sein, das heißt bitte nur Dateien mit der Endung .epub für ein EPUB hochladen!

Upload eines EPUB-Dokuments - Dateimanager öffnen mit Klick auf »Datei auswählen«

Abbildung 1: Upload eines EPUB-Dokuments - Schritt 1: Dateimanager öffnen mit Klick auf »Datei auswählen«

Upload eines EPUB-Dokuments - .epub-Datei auswählen

Abbildung 2: Upload eines EPUB-Dokuments - Schritt 2: .epub-Datei auswählen

Nach Auswahl eines EPUB-Dokuments per Doppelklick wird in der Dropdown-Liste neben »Prüfkonfigurationen« der Konfigurations-Typ EPUB - EpubCheck angezeigt. Wählen Sie diesen aus (siehe Abb. 3).

Verfügbarer Konfigurations-Typ nach Auswahl eines EPUBs

Abbildung 3: Verfügbarer Konfigurations-Typ nach Auswahl eines EPUB-Dokuments

Nach Auswahl des Prüfdokuments und des Konfigurations-Typs EPUB - EpubCheck, klicken Sie nun auf die grüne Schaltfläche »Datei hochladen und Prüfung starten«, damit die Validierung gestartet wird. Anhand der "Uhr" sehen Sie, dass die Validierung des ausgewählten EPUB-Dokuments im Gange ist. Dieser Prozess kann einige Sekunden dauern (siehe Abb. 4).

Validierung des Dokuments ist im Gange

Abbildung 4: Die Validierung des EPUBs ist im Gange

Das von Ihnen ausgewählte Dokument wurde erfolgreich geprüft. Nach Beendigung der Prüfung wird in der rechten Spalte eine Ergebnis-XML-Datei angezeigt (siehe Abb. 5).

EpubCheck ist beendet

Abbildung 5: Der EpubCheck ist beendet

Näheres zum Ausgabe-Dokument erfahren Sie im folgenden Abschnitt.

2.2 Die Ausgabe

Unabhängig davon, ob eine Prüfung "erfolgreich" (es wurden keine Fehler gefunden) oder "nicht erfolgreich" (es wurden Fehler gefunden) war, wird immer ein Ausgabe-Dokument in Form einer Verlinkung angezeigt:

epubcheck-report.xml: Wenn Sie diesen Link öffnen, wird ein XML-Prüfbericht heruntergeladen (siehe Abb. 6).

XML-Prüfbericht des EpubCheck

Abbildung 6: Der XML-Prüfbericht des EpubCheck

Diese XML-Datei enthält im Wesentlichen die Metadaten zur entsprechenden Publikation, wie Angaben zum Copyright, zu verwendeten Schriften und Referenzen. Zu Beginn der Datei finden Sie ein messages-Element, in dem die vom EpubCheck gefundenen Fehler auf Englisch aufgelistet sind (siehe Abb. 7).

Ausschnitt aus der epubcheck-report.xml

Abbildung 7: Ausschnitt aus der epubcheck-report.xml

In unserem Beispiel gibt es eine Fehlermeldung. Die Cover-Datei wurde nicht gefunden.

Häufig auftretende Fehlermeldungen, die der EpubCheck generiert, und Erläuterungen dazu finden Sie im EpubCheck wiki: Errors.

3. Die Prüfungshistorie

In der Prüfungshistorie unter dem Menüpunkt »Dokumente« (linke Spalte) finden Sie alle bereits durchgeführten Prüfungen chronologisch sortiert wieder und können auf die jeweiligen Prüfergebnisse zugreifen. Somit stellt die Prüfungshistorie Ihre individuelle Datenbank dar.

Es werden alle vorangegangenen Prüfungen mit Angabe des Zeitpunkts der Prüfung (»Geprüft am«), des Namens des Prüfdokuments (»Testdatei«), des Ergebnisses der Prüfung (grünes Häkchen (Häkchen-Icon) für "erfolgreiche Prüfung und keine Fehler gefunden", orangene Pinn-Nadel (Pinn-Nadel-Icon) für "erfolgreiche Prüfung, aber Fehler gefunden" und roter Blitz (Blitz-Icon) für "Prüfung ist fehlgeschlagen z. B. wegen eines Systemfehlers") sowie der für die Prüfung verwendeten Prüfkonfiguration aufgelistet (siehe Abb. 8).

Die Prüfungshistorie

Abbildung 8: Die Prüfungshistorie

Mit Klick auf eines der unter »Testdatei« verlinkten Prüfdokumente, werden die entsprechenden Ausgabe-Dokumente in der rechten Spalte angezeigt (beim EpubCheck jeweils nur ein Dokument) und können, wie unter 2.2 Die Ausgabe beschrieben, eingesehen werden (siehe Abb. 6).

Ihre Prüfungshistorie findet sich außerdem auf der data2check-Startseite wieder unter dem Menüpunkt »Home« (siehe auch unter 4.1 Home im Allgemeinen Teil dieser Dokumentation).

Copyright © 2017 data2check, all rights reserved

AGBs | Impressum | Datenschutzerklärung