Attribute « lang » is invalid; must be an RFC 3066 language identifier

Ce message d’erreur lors de la validation d’un epub par epubchek se présente sous une autre forme dans le validateur de Sigil et se traduit par : attribute ‘lang’ is not declared for element ‘html’.

Le problème est en général provoqué par la conversion d’un fichier PDF vers un format epub par le biais du logiciel Calibre. Cet outil plein de qualités n’est absolument pas adapté pour produire des ebooks comme le précise son auteur.

Si l’on ouvre le fichier avec Sigil, on observe que la conversion a généré une en-tête XML de ce type :
Calibre-XML

On observe dans l’en-tête XML une déclaration se rapportant à la langue,

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="">
Header XML

Le champs langage vide lang=’ ‘ provoque l’erreur de validation.

Pour y remédier, il suffit donc de réécrire les en-têtes XML du fichier pour qu’il réponde aux normes d’un epub, du type :

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Header Sigil

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

12 + dix-huit =