EPUBCheck OPF-004: neplatný atribut prefixu
Aktualizováno:
EPUBCheck OPF-004 je varovná zpráva: „Invalid prefix declaration: leading or trailing whitespace is not allowed.“ Atribut prefix na prvku balíčku není napsán ve syntaxi, kterou EPUB vyžaduje. Tento atribut mapuje krátké prefixy (jako ibooks) na URI slovníku a EPUBCheck hlásí každý typ syntaktické chyby se svou vlastní variantou OPF-004.
Oficiální zpráva
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Výchozí závažnost
- Varování. EPUB je stále platný, ale něco pravděpodobně způsobí problémy v některých čtecích aplikacích. EPUBCheck končí s 0, pokud nepřejdete na --failonwarnings.
- verze EPUBCheck
- 5.4.0
Typické příčiny
- OPF-004: mezery nebo nové řádky na začátku nebo konci hodnoty atributu; OPF-004a: prázdný prefix, dvojtečka bez názvu před ní.
- OPF-004b: název prefixu, který není platným XML názvem (NCName), například takový, který začíná číslicí nebo obsahuje lomítko; OPF-004c: mezera mezi názvem a dvojtečkou, jako v "ibooks : http://…".
- OPF-004d: žádná mezera mezi dvojtečkou a URI, jako v "ibooks:http://…"; OPF-004e: tabulátor, nový řádek nebo jiná neplatná mezera mezi prefixem a URI.
- OPF-004f: mapování oddělená něčím jiným než obyčejnou mezerou, nebo spojená dohromady.
Jak to opravit
- Najděte prefixový atribut na prvku balíčku v souboru .opf.
- Zapište každý mapping ve formátu prefix jméno, dvojtečka, jedna mezera a URI slovníku, a oddělte mappingy mezerou, například
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Odstraňte prázdné znaky na začátku a na konci hodnoty, dejte každému mapování název, který začíná písmenem (písmena, číslice, pomlčky a podtržítka pouze), a dejte dvojtečku hned za název.
- Rezervované prefixy jako dcterms, rendition a schema nepotřebují deklaraci, takže atribut můžete často úplně odstranit, pokud mapuje pouze tyto.
Kdy to není to
Pokud je syntax správná, ale prefix nemá URI nebo je neplatný, je to OPF-005 nebo OPF-006.
Také hlášeno jako
OPF-004a(chyba): Invalid prefix declaration: found empty prefix.OPF-004b(chyba): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(chyba): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(chyba): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(varování): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(varování): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Podmínky používané zde
Další OPF zprávy
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 "…".
Zdroje
Text zprávy a závažnost od EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Vysvětlení od EpubCC.