EPUBCheck OPF-004: źle sformułowany atrybut prefiksu
Zaktualizowane:
EPUBCheck OPF-004 to komunikat ostrzegawczy: „Invalid prefix declaration: leading or trailing whitespace is not allowed.” Atrybut prefix w elemencie pakietu nie jest napisany w składni, której wymaga EPUB. Ten atrybut mapuje krótkie prefiksy (takie jak ibooks) na URIs słownikowe, a EPUBCheck zgłasza każdy rodzaj błędu składniowego w swojej własnej wersji OPF-004.
Oficjalna wiadomość
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Domyślna powaga
- Ostrzeżenie. EPUB jest wciąż ważny, ale coś może powodować problemy w niektórych aplikacjach do czytania. EPUBCheck kończy działanie z wynikiem 0, chyba że przekażesz --failonwarnings.
- Wersja EPUBCheck
- 5.4.0
Typowe przyczyny
- OPF-004: spacje lub łamania linii na początku lub końcu wartości atrybutu; OPF-004a: pusty prefiks, dwukropek bez nazwy przed nim.
- OPF-004b: prefiks, który nie jest prawidłową nazwą XML (NCName), na przykład zaczynający się od cyfry lub zawierający ukośnik; OPF-004c: spacja między nazwą a dwukropkiem, jak w "ibooks : http://…".
- OPF-004d: brak spacji między dwukropkiem a URI, jak w "ibooks:http://…"; OPF-004e: tabulator, złamanie linii lub inny nielegalny biały znak między prefiksem a URI.
- OPF-004f: mapowania oddzielone czymś innym niż zwykła biała przestrzeń lub złączone razem.
Jak to naprawić
- Znajdź atrybut prefix w elemencie package pliku .opf.
- Zapisz każdy mapping jako prefiksową nazwę, dwukropek, jedną spację i URI słownika, a oddziel mappingi za pomocą białych znaków, na przykład
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Usuń białe znaki na początku i na końcu wartości, przypisz każdemu mapowaniu nazwę zaczynającą się od litery (tylko litery, cyfry, myślniki i podkreślenia) i umieść dwukropek tuż po nazwie.
- Zarezerwowane prefiksy, takie jak dcterms, rendition i schema, nie wymagają deklaracji, więc możesz często usunąć atrybut całkowicie, jeśli mapuje tylko te.
Kiedy to nie to
Jeśli składnia jest poprawna, ale prefiks nie ma URI lub jest nieprawidłowy, to OPF-005 lub OPF-006.
Również zgłoszone jako
OPF-004a(błąd): Invalid prefix declaration: found empty prefix.OPF-004b(błąd): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(błąd): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(błąd): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(ostrzeżenie): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(ostrzeżenie): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Terminy używane tutaj
Inne komunikaty 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 "…".
Źródła
Tekst wiadomości i poważność z EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Wyjaśnienie przez EpubCC.