EPUBCheck OPF-004: atribut prefix format greșit
Actualizat:
EPUBCheck OPF-004 este un mesaj de avertizare: „Invalid prefix declaration: leading or trailing whitespace is not allowed.” Atributul prefix de pe elementul pachetului nu este scris în sintaxa pe care EPUB o cere. Acest atribut mapează prefixe scurte (cum ar fi ibooks) la URI-uri vocabular, iar EPUBCheck raportează fiecare tip de greșeală de sintaxă cu propria variantă a OPF-004.
Mesajul oficial
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Severitate implicită
- Atenționare. EPUB este încă valid, dar ceva este probabil să cauzeze probleme în unele aplicații de citire. EPUBCheck iese cu 0, cu excepția cazului în care treci --failonwarnings.
- versiunea EPUBCheck
- 5.4.0
Cauze tipice
- OPF-004: spații sau întreruperi de linie la începutul sau la sfârșitul valorii atributului; OPF-004a: un prefix gol, un două puncte fără nume înainte.
- OPF-004b: un nume de prefix care nu este un nume XML valid (NCName), de exemplu unul care începe cu o cifră sau conține o bară oblică; OPF-004c: un spațiu între nume și două puncte, așa cum este în "ibooks : http://…".
- OPF-004d: fără spațiu între două puncte și URI, așa cum este în "ibooks:http://…"; OPF-004e: o tabulare, întrerupere de linie sau alte caractere ilegale între prefix și URI.
- OPF-004f: mapări separate prin altceva decât spații simple, sau aglomerate.
Cum să o repari
- Găsiți atributul prefix pe elementul pachet al fișierului .opf.
- Scrie fiecare mapare ca numele prefixului, două puncte, un spațiu și URI-ul vocabularului, iar mapările sunt separate prin spații libere, de exemplu
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Eliminați spațiile albe de la începutul și sfârșitul valorii, dați fiecărei mapări un nume care începe cu o literă (doar litere, cifre, cratime și underscores) și puneți două puncte imediat după nume.
- Prefixele rezervate, cum ar fi dcterms, rendition și schema, nu necesită declarație, așa că poți adesea să ștergi complet atributul dacă măsoară doar acestea.
Când nu este acest lucru
Dacă sintaxa este corectă, dar un prefix nu are un URI sau unul invalid, aceasta este OPF-005 sau OPF-006.
De asemenea raportat ca
OPF-004a(eroare): Invalid prefix declaration: found empty prefix.OPF-004b(eroare): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(eroare): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(eroare): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(atenționare): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(atenționare): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Termeni folosiți aici
Alte mesaje OPF
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 "…".
Surse
- EPUB 3.3, §D.1.4 The prefix attribute · citește
Textul mesajului și severitatea din EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Explicație de EpubCC.