EPUBCheck OPF-004: fehlerhaftes Präfixattribut
Aktualisiert:
EPUBCheck OPF-004 ist eine Warnmeldung: „Invalid prefix declaration: leading or trailing whitespace is not allowed.“ Das Präfixattribut im Paketelement ist nicht in der Syntax geschrieben, die EPUB verlangt. Dieses Attribut ordnet kurze Präfixe (wie ibooks) Vokabular-URIs zu, und EPUBCheck meldet jeden Typ von Syntaxfehler mit seiner eigenen Variante von OPF-004.
Die offizielle Nachricht
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Standard-Schweregrad
- Warnung. Die EPUB ist weiterhin gültig, aber irgendetwas wird wahrscheinlich Probleme in einigen Leseanwendungen verursachen. EPUBCheck beendet die Ausführung mit 0, es sei denn, Sie übergeben --failonwarnings.
- EPUBCheck Version
- 5.4.0
Typische Ursachen
- OPF-004: Leerzeichen oder Zeilenumbrüche am Anfang oder Ende des Attributwerts; OPF-004a: ein leerer Präfix, ein Doppelpunkt ohne Namen davor.
- OPF-004b: ein Präfixname, der kein gültiger XML-Name (NCName) ist, zum Beispiel einer, der mit einer Ziffer beginnt oder einen Schrägstrich enthält; OPF-004c: ein Leerzeichen zwischen dem Namen und seinem Doppelpunkt, wie in "ibooks : http://…".
- OPF-004d: kein Leerzeichen zwischen dem Doppelpunkt und der URI, wie in "ibooks:http://…"; OPF-004e: ein Tabulator, Zeilenumbruch oder andere illegale Leerzeichen zwischen dem Präfix und der URI.
- OPF-004f: Zuordnungen, die durch etwas anderes als einfaches Leerzeichen getrennt sind oder zusammengefasst werden.
Wie man es behebt
- Finde das Präfixattribut im Package-Element der .opf-Datei.
- Schreiben Sie jede Zuordnung als Präfixnamen, gefolgt von einem Doppelpunkt, einem Leerzeichen und der Vocabulary-URI, und trennen Sie Zuordnungen durch Leerzeichen, zum Beispiel
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Entfernen Sie Leerzeichen am Anfang und Ende des Wertes, geben Sie jeder Zuordnung einen Namen, der mit einem Buchstaben beginnt (nur Buchstaben, Ziffern, Bindestriche und Unterstriche), und setzen Sie den Doppelpunkt direkt nach dem Namen.
- Reservierte Präfixe wie dcterms, rendition und schema benötigen keine Deklaration, sodass Sie das Attribut oft vollständig löschen können, wenn es nur diese abbildet.
Wann es nicht das ist
Wenn die Syntax richtig ist, aber ein Präfix keine URI oder eine ungültige hat, ist das OPF-005 oder OPF-006.
Auch gemeldet als
OPF-004a(fehler): Invalid prefix declaration: found empty prefix.OPF-004b(fehler): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(fehler): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(fehler): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(warnung): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(warnung): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Hier verwendete Begriffe
Andere OPF Nachrichten
OPF-003Item "…" exists in the EPUB, but is not declared in the OPF manifest.OPF-005Invalid prefix declaration: URI for prefix "…" doesn’t exist.OPF-002The OPF file "…" was not found in the EPUB.OPF-006Invalid prefix declaration: URI "…" is not a valid URI.OPF-001There was an error when parsing the EPUB version: ….OPF-007Re-declaration of reserved prefix "…".
Quellen
Nachrichtentext und Schweregrad von EPUBCheck 5.4.0 (W3C, BSD-3-Klausel). Erklärung durch EpubCC.