EPUBCheck OPF-004 : attribut préfixe malformé
Mis à jour :
EPUBCheck OPF-004 est un message d'avertissement : « Invalid prefix declaration: leading or trailing whitespace is not allowed. » L'attribut préfixe sur l'élément paquet n'est pas écrit dans la syntaxe que EPUB exige. Cet attribut associe des préfixes courts (comme ibooks) aux URI de vocabulaire, et EPUBCheck rapporte chaque type d'erreur de syntaxe avec sa propre variante de OPF-004.
Le message officiel
Invalid prefix declaration: leading or trailing whitespace is not allowed.
- Gravité par défaut
- Avertissement. Le EPUB est toujours valide, mais quelque chose risque de causer des problèmes dans certaines applications de lecture. EPUBCheck sort avec 0 sauf si vous passez --failonwarnings.
- version EPUBCheck
- 5.4.0
Causes typiques
- OPF-004 : espaces ou sauts de ligne au début ou à la fin de la valeur de l'attribut ; OPF-004a : un préfixe vide, un deux-points sans nom devant.
- OPF-004b : un nom de préfixe qui n'est pas un nom XML valide (NCName), par exemple, un commençant par un chiffre ou contenant une barre oblique ; OPF-004c : un espace entre le nom et son deux-points, comme dans "ibooks : http://…".
- OPF-004d : pas d'espace entre le deux-points et l'URI, comme dans "ibooks:http://…" ; OPF-004e : une tabulation, un saut de ligne ou d'autres espaces blancs illégaux entre le préfixe et l'URI.
- OPF-004f : mappages séparés par autre chose qu'un blanc simple, ou collés.
Comment le corriger
- Trouvez l'attribut prefix sur l'élément de paquet du fichier .opf.
- Écrivez chaque mappage sous la forme du nom de préfixe, un deux-points, un espace et l'URI de vocabulaire, et séparez les mappages par des espaces, par exemple
prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/ foaf: http://xmlns.com/foaf/spec/". - Supprimer les espaces au début et à la fin de la valeur, donner à chaque mappage un nom qui commence par une lettre (lettres, chiffres, traits d'union et underscores uniquement), et mettre les deux-points juste après le nom.
- Les préfixes réservés tels que dcterms, rendition et schema n'ont pas besoin de déclaration, donc vous pouvez souvent supprimer complètement l'attribut s'il ne mappe que ceux-ci.
Quand ce n'est pas ça
Si la syntaxe est correcte mais qu'un préfixe n'a pas d'URI ou en a une invalidée, c'est OPF-005 ou OPF-006.
Aussi signalé comme
OPF-004a(erreur): Invalid prefix declaration: found empty prefix.OPF-004b(erreur): Invalid prefix "%1$s": must be a valid non-colonized name (aka "NCName").OPF-004c(erreur): Invalid prefix declaration: prefix "%1$s" must be immediately followed by a colon character (":").OPF-004d(erreur): Invalid prefix declaration: prefix "%1$s" must be separated by its URI with a space.OPF-004e(avertissement): Invalid prefix declaration: found illegal whitespace between prefix and URI.OPF-004f(avertissement): Invalid prefix declaration: found illegal whitespace between prefix mappings.
Termes utilisés ici
Autres messages 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 "…".
Sources
Texte et gravité du message de EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Explication par EpubCC.