EPUBCheck OPF-004: attributo prefisso malformato
Aggiornato:
EPUBCheck OPF-004 è un messaggio di avviso: “Invalid prefix declaration: leading or trailing whitespace is not allowed.” L'attributo prefisso sull'elemento pacchetto non è scritto nella sintassi richiesta da EPUB. Quel attributo mappa prefissi brevi (come ibooks) a URI di vocabolario, e EPUBCheck riporta ogni tipo di errore di sintassi con la propria variante di OPF-004.
Il messaggio ufficiale
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Gravità predefinita
- Avviso. Il EPUB è ancora valido, ma qualcosa potrebbe causare problemi in alcune app di lettura. EPUBCheck esce con 0 a meno che non passi --failonwarnings.
- versione EPUBCheck
- 5.4.0
Cause tipiche
- OPF-004: spazi o interruzioni di riga all'inizio o alla fine del valore dell'attributo; OPF-004a: un prefisso vuoto, un due punti senza nome prima di esso.
- OPF-004b: un nome di prefisso che non è un nome XML valido (NCName), per esempio uno che inizia con una cifra o contiene una barra; OPF-004c: uno spazio tra il nome e il suo due punti, come in "ibooks : http://…".
- OPF-004d: nessuno spazio tra i due punti e l'URI, come in "ibooks:http://…"; OPF-004e: una tabulazione, un'interruzione di riga o un altro spazio bianco illegale tra il prefisso e l'URI.
- OPF-004f: mappature separate da qualcosa di diverso da uno spazio normale, o unite insieme.
Come correggerlo
- Trova l'attributo prefix sull'elemento package del file .opf.
- Scrivi ogni mappatura come nome di prefisso, due punti, uno spazio e l'URI del vocabolario, e separa le mappature con uno spazio, per esempio
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Rimuovi gli spazi bianchi all'inizio e alla fine del valore, dai a ogni mappatura un nome che inizi con una lettera (solo lettere, numeri, trattini e underscore) e metti i due punti subito dopo il nome.
- I prefissi riservati come dcterms, rendition e schema non necessitano di alcuna dichiarazione, quindi puoi spesso eliminare completamente l'attributo se mappa solo quelli.
Quando non è questo
Se la sintassi è corretta ma un prefisso non ha un URI o uno non valido, è OPF-005 o OPF-006.
Segnalato anche come
OPF-004a(errore): Invalid prefix declaration: found empty prefix.OPF-004b(errore): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(errore): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(errore): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(avviso): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(avviso): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Termini usati qui
Altri messaggi di 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 "…".
Fonti
Testo e gravità del messaggio da EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Spiegazione di EpubCC.