EPUBCheck es el validador de referencia, y las tiendas construyen sobre él sus sistemas de recepción. Pasarlo no garantiza la aceptación, porque un libro puede rechazarse por cosas que ningún validador examina. Pero no pasarlo es la forma habitual de que un archivo se rechace antes de que nadie lo vea.
Su informe es exacto, pero difícil de leer: un código, un archivo, una línea y una columna, y una frase para alguien que ya conoce la norma. Esta página lo explica. Se estropeó un EPUB válido fallo a fallo y se anotaron las respuestas; los mensajes de abajo son los que usted verá. Se citan en inglés, tal como los escribe EPUBCheck.
Los errores de empaquetado
Un EPUB es un ZIP con reglas sobre cómo se construye el propio ZIP. Se verifican primero y son los que más se incumplen, porque comprimir una carpeta en Finder o en el Explorador de archivos las rompe.
PKG-007 El archivo mimetype contiene algo más que esa línea
El primer archivo debe llamarse mimetype y contener solo esa
cadena, sin salto de línea al final. Lo provoca un editor de texto que añade
un salto de línea al guardar.
La norma EPUB también prohíbe comprimir ese archivo. En esta prueba, EPUBCheck 5.3.0 no señaló un archivo mimetype comprimido, así que no confíe en que lo detecte.
PKG-006 El archivo mimetype no es el primero
El orden dentro de un ZIP no es alfabético, y los gestores de archivos no permiten elegirlo. La entrada mimetype debe ir primero, para que un dispositivo de lectura reconozca el formato por los primeros bytes.
PKG-007 trata de lo que contiene el archivo; PKG-006, de dónde está. Lea el mensaje, no el número.
PKG-005 La entrada mimetype tiene un campo adicional
Un EPUB descomprimido y vuelto a comprimir con el comando zip
en un Mac mantuvo el archivo mimetype primero y sin comprimir, pero su
entrada llevaba un campo adicional, que la norma prohíbe. La misma carpeta
comprimida con zip -X, que omite los campos adicionales, pasó
la validación.
Los errores de referencia
Todos responden a la misma idea: algo apunta a algo que no está, normalmente un archivo que se renombró, se movió o nunca se incluyó. Son errores frecuentes.
RSC-001 No existe un archivo nombrado en el manifiesto
El paquete promete un archivo que el ZIP no tiene, normalmente una imagen colocada en el manuscrito desde el disco y nunca copiada al eBook.
RSC-007 Un enlace o una hoja de estilos apunta a un archivo que falta
El mismo fallo visto desde el otro lado: un capítulo enlaza con una página
que no está. También detecta una regla @font-face cuyo archivo
de fuente se quedó fuera, algo habitual cuando se copia un tema de un
proyecto a otro.
RSC-012 Un enlace apunta a un ancla que no existe
El archivo es correcto y el #ancla que lo sigue no. A menudo es
una nota al pie o una nota final cuya llamada sobrevivió a una edición y la
nota no.
RSC-011 El índice apunta a algo que está fuera del orden de lectura
El índice enlaza con un capítulo que existe, pero que no está en la secuencia que recorre el lector. Tómeselo en serio; vea la última sección de esta página.
OPF-049 El orden de lectura nombra una entrada que no está en el manifiesto
Llega junto con un RSC-005 que dice lo mismo en el lenguaje de la especificación: un problema, dos mensajes. El recuento de errores de EPUBCheck no es un recuento de problemas.
RSC-006 y OPF-014 Una imagen se carga desde internet
The property "remote-resources" should be declared in the OPF file.
Un eBook debe contener todo lo que muestra. Un <img> con
una fuente https:// desaparece cuando el lector no tiene
conexión, así que se rechaza.
Los errores de documento
RSC-016 (fatal) El XHTML no está bien formado
El XHTML es XML, y el XML no tolera errores: una etiqueta sin cerrar detiene la lectura. Se informa dos veces, como FATAL RSC-016 y ERROR RSC-005, y no se verifica nada de lo que hay después de la etiqueta rota. Corríjalo y vuelva a ejecutarlo antes de leer el resto.
Los navegadores reparan en silencio el HTML roto, y por eso un archivo puede verse perfecto en un navegador y aquí no ser válido en absoluto.
RSC-005 Falta algo obligatorio o está en el lugar equivocado
Error while parsing file: Exactly one "toc" nav element must be present
RSC-005 es el mensaje general de «esto no corresponde al esquema», y lo útil es la frase que sigue a los dos puntos. Los dos de arriba son frecuentes: un paquete sin título y un documento de navegación cuyo índice no está marcado como índice.
HTM-004 Un DOCTYPE antiguo
Un capítulo de un EPUB 3 lleva <!DOCTYPE html>, o ningún
doctype. El antiguo doctype de XHTML 1.1 es un error. EPUBCheck 4.2.6 lo
dejaba pasar, así que los consejos que lo dan por inofensivo están
desactualizados.
OPF-003 (uso) Un archivo está en el ZIP pero no se declara
EPUBCheck 5.3.0 solo lo indica cuando se ejecuta con -u, que
añade los mensajes de uso. Una ejecución normal no dice nada.
Suele ser inofensivo: un archivo sobrante, un .DS_Store, una
copia de seguridad del editor. Quítelo de todos modos, porque los lectores
tienen que descargar ese peso muerto.
Un archivo que pasa, pero no debería tranquilizarle
Una etiqueta de idioma que no es una etiqueta de idioma.
english en lugar de en dio
0 errores. Los dispositivos de lectura usan
ese campo para la división de palabras y la lectura en voz alta, así que un
valor incorrecto empeora el libro sin avisar.
El fallo que EPUBCheck no detecta
Se quitó un capítulo entero del orden de lectura y del índice, y su archivo se dejó en el ZIP. El resultado:
Messages: 0 fatals / 0 errors / 0 warnings / 0 infos
Un eBook válido al que le falta un capítulo. La norma solo exige que las partes que declara un EPUB concuerden entre sí, y concordaban. Si se quita el capítulo de uno de los dos lugares, aparece RSC-011; si se quita de ambos, el libro simplemente es más corto.
Un informe de EPUBCheck sin errores significa que el archivo está bien formado, no que sea su libro. Solo abrir el libro y contar los capítulos detecta uno que falta.
Cómo leer un informe
- Corrija primero cada FATAL. La lectura se detuvo ahí, así que el resto del informe se escribió con una imagen incompleta.
- Un problema puede producir varios mensajes. Corrija las causas y vuelva a ejecutarlo, en lugar de recorrer la lista.
- En RSC-005, lea la frase, no el código.
- Las advertencias son opcionales y fáciles de corregir. Elimínelas, para que la próxima nueva destaque.
Torcul valida con el propio EPUBCheck. Esta página cita los mensajes porque, al parafrasearlos, se pierde la parte que dice qué hacer.