Ratgeber

EPUBCheck-Fehler und ihre Bedeutung

Jede Meldung auf dieser Seite stammt von einem gültigen EPUB, das absichtlich beschädigt wurde. Aufgezeichnet wurde, was der Validator meldete. EPUBCheck v4.2.6.

EPUBCheck ist der Referenzvalidator, und Händler bauen ihre Annahmesysteme darauf auf. Eine bestandene Prüfung garantiert keine Annahme, weil ein Buch auch aus Gründen abgelehnt werden kann, die ein Validator nie prüft. Eine nicht bestandene Prüfung ist aber der übliche Grund, aus dem eine Datei abgelehnt wird, bevor ein Mensch sie sieht.

Die Ausgabe ist genau, aber schwer zu lesen: ein Code, eine Datei, Zeile und Spalte und ein Satz für Leser, die den Standard schon kennen. Diese Seite erklärt sie. Ein gültiges EPUB wurde auf fünfzehn Arten beschädigt, und die Meldungen unten sind die, die Sie sehen werden.

Fehler im Paket

Ein EPUB ist ein ZIP-Archiv mit Regeln dafür, wie das Archiv aufgebaut ist. Diese Regeln werden zuerst geprüft und am häufigsten verletzt, weil das Komprimieren eines Ordners im Finder oder Explorer gegen sie verstößt.

PKG-007 Die mimetype-Datei ist komprimiert

Mimetype file should only contain the string "application/epub+zip" and should not be compressed.

Die erste Datei muss mimetype heißen, nur diese Zeichenfolge ohne abschließenden Zeilenumbruch enthalten und unkomprimiert gespeichert sein. Ein gewöhnliches ZIP-Programm komprimiert alles. Wer ein entpacktes EPUB von Hand neu packt, erhält deshalb fast immer diesen Fehler.

PKG-006 Die mimetype-Datei steht nicht an erster Stelle

Mimetype file entry is missing or is not the first file in the archive.

Die Reihenfolge in einem ZIP-Archiv ist nicht alphabetisch, und Dateimanager lassen sie nicht einstellen. Der mimetype-Eintrag muss zuerst kommen, damit ein Lesegerät das Format an den ersten Bytes erkennt.

Die beiden Nummern sind anders verteilt, als man erwartet: Komprimierung ist PKG-007, Reihenfolge ist PKG-006. Lesen Sie deshalb die Meldung, nicht nur die Nummer.

Fehler bei Verweisen

Allen gemeinsam ist dasselbe Muster: Etwas verweist auf etwas, das nicht vorhanden ist. Meist wurde eine Datei umbenannt, verschoben oder nie aufgenommen. Diese Fehler sind häufig.

RSC-001 Eine im Manifest genannte Datei fehlt

File "OEBPS/images/fig1.jpg" could not be found.

Das Paket nennt eine Datei, die im Archiv fehlt. Meist ist es ein Bild, das im Manuskript von der Festplatte eingebunden und nie ins E-Book kopiert wurde.

RSC-007 Ein Link oder Stylesheet verweist auf eine fehlende Datei

Referenced resource "OEBPS/gone.xhtml" could not be found in the EPUB.

Derselbe Fehler von der anderen Seite: Ein Kapitel verlinkt auf eine Seite, die nicht vorhanden ist. Er tritt auch bei einer @font-face-Regel auf, deren Schriftdatei fehlt, etwa wenn ein Theme zwischen Projekten kopiert wurde.

RSC-012 Ein Link verweist auf einen nicht vorhandenen Anker

Fragment identifier is not defined.

Die Datei stimmt, aber der #Anker dahinter nicht. Oft ist es eine Fuß- oder Endnote, deren Verweis eine Überarbeitung überstanden hat, die Anmerkung selbst aber nicht.

RSC-011 Das Inhaltsverzeichnis verweist auf etwas außerhalb der Lesereihenfolge

Found a reference to a resource that is not a spine item.

Das Inhaltsverzeichnis verlinkt auf ein Kapitel, das vorhanden ist, aber nicht in der Reihenfolge steht, die ein Leser durchläuft. Nehmen Sie diesen Fehler ernst. Der letzte Abschnitt dieser Seite erklärt, warum.

OPF-049 Die Lesereihenfolge nennt einen fehlenden Manifesteintrag

Item id "nowhere" was not found in the manifest.

Dieser Fehler erscheint zusammen mit RSC-005, das dasselbe in der Sprache der Spezifikation sagt: ein Problem, zwei Meldungen. Die Fehlerzahl von EPUBCheck ist also keine Zahl der Probleme.

RSC-006 und OPF-014 Ein Bild wird aus dem Internet geladen

Remote resource reference not allowed; resource must be placed in the OCF.
The property "remote-resources" should be declared in the OPF file.

Ein E-Book muss alles enthalten, was es zeigt. Ein <img> mit einer https://-Quelle verschwindet, wenn das Lesegerät offline ist. Deshalb wird es abgelehnt.

Fehler im Dokument

RSC-016 (schwerwiegend) Das XHTML ist nicht wohlgeformt

Fatal Error while parsing file: The element type "p" must be terminated by the matching end-tag "</p>".

XHTML ist XML, und XML duldet keine Fehler: Ein nicht geschlossenes Tag beendet das Einlesen. Der Fehler wird zweimal gemeldet, als FATAL RSC-016 und als ERROR RSC-005, und nach dem fehlerhaften Tag wird nichts mehr geprüft. Beheben Sie ihn und prüfen Sie erneut, bevor Sie den Rest lesen.

Browser reparieren fehlerhaftes HTML stillschweigend. Deshalb kann eine Datei im Browser einwandfrei aussehen und hier schwerwiegend ungültig sein.

RSC-005 Etwas Erforderliches fehlt oder steht an falscher Stelle

Error while parsing file: element "metadata" incomplete; missing required element "dc:title"
Error while parsing file: Exactly one "toc" nav element must be present

RSC-005 ist die allgemeine Meldung „entspricht nicht dem Schema“, und aufschlussreich ist der Satz nach dem Doppelpunkt. Die beiden Meldungen oben sind häufig: ein Paket ohne Titel und ein Navigationsdokument, dessen Inhaltsverzeichnis nicht als Inhaltsverzeichnis gekennzeichnet ist.

OPF-003 (Warnung) Eine Datei liegt im Archiv, ist aber nicht deklariert

Item "EPUB/orphan.xhtml" exists in the EPUB, but is not declared in the OPF manifest.

Meist harmlos: eine übrig gebliebene Datei, ein .DS_Store, eine Sicherungskopie des Editors. Entfernen Sie sie trotzdem, denn Leser müssen diesen Ballast mit herunterladen.

Zwei bestandene Prüfungen, die nicht beruhigen sollten

Beide ergaben 0 Fehler, und keine der beiden Dateien ist korrekt.

  • Ein veralteter DOCTYPE. Der alte XHTML-1.1-Doctype statt <!DOCTYPE html> bestand ohne Meldung. Ratschläge, die ihn als Fehler bezeichnen, sind veraltet.
  • Eine Sprachangabe, die keine ist. english statt en bestand ohne Kommentar. Lesegeräte nutzen dieses Feld für Silbentrennung und Sprachausgabe, deshalb verschlechtert ein falscher Wert das Buch unbemerkt.

Der Fehler, den EPUBCheck nicht findet

Ein ganzes Kapitel wurde aus der Lesereihenfolge und aus dem Inhaltsverzeichnis entfernt, die Datei blieb im Archiv. Das Ergebnis:

No errors or warnings detected.
Messages: 0 fatals / 0 errors / 0 warnings / 0 infos

Ein gültiges E-Book, dem ein Kapitel fehlt. Der Standard verlangt nur, dass die Teile, die ein EPUB deklariert, zueinander passen, und das taten sie. Wird das Kapitel nur an einer der beiden Stellen entfernt, meldet EPUBCheck RSC-011. Wird es an beiden entfernt, ist das Buch einfach kürzer.

Ein Bericht von EPUBCheck ohne Befund bedeutet, dass die Datei wohlgeformt ist, nicht, dass sie Ihr Buch enthält. Ein fehlendes Kapitel bemerken Sie nur, wenn Sie das Buch öffnen und die Kapitel zählen.

Einen Bericht lesen

  • Beheben Sie zuerst jeden FATAL-Fehler. Dort brach das Einlesen ab, und der Rest des Berichts beruht auf einem unvollständigen Bild.
  • Ein Problem kann mehrere Meldungen erzeugen. Beheben Sie die Ursachen und prüfen Sie erneut, statt die Liste der Reihe nach abzuarbeiten.
  • Lesen Sie bei RSC-005 den Satz, nicht den Code.
  • Warnungen sind freiwillig und leicht zu beheben. Beheben Sie sie, damit die nächste neue Warnung auffällt.

Torcul validiert mit EPUBCheck selbst. Diese Seite zitiert die Meldungen wörtlich, weil eine Umschreibung genau den Teil verliert, der sagt, was zu tun ist.