Terminaste de exportar tu libro digital, lo abriste en una aplicación de lectura y todo parecía normal. Después ejecutaste EPUBCheck y aparecieron códigos como RSC-001, RSC-012 u OPF_049. ¿Significa que tu libro tiene decenas de problemas? No necesariamente. Varios mensajes pueden surgir de un único archivo mal referenciado o de una exportación incompleta.
Esta guía explica algunos mensajes concretos y cómo investigar su causa. No reemplaza la documentación oficial ni pretende ofrecer una solución universal para cada código. Si todavía necesitas aprender a interpretar la gravedad y la ubicación de los mensajes, empieza por Cómo interpretar un informe EPUBCheck sin corregir a ciegas.
Qué hace EPUBCheck y qué no hace
EPUBCheck es una herramienta de validación mantenida por DAISY Consortium para el W3C. Comprueba el cumplimiento de especificaciones EPUB: contenedor, marcado, referencias y declaraciones. Un archivo que supera estas pruebas no queda automáticamente certificado como accesible ni aceptado por cada tienda.
Para localizar un problema, el informe suele ofrecer cuatro pistas: gravedad, código, archivo y descripción. Ejemplo de la documentación oficial:
ERROR(RSC-001): ./manifest-item-missing-error.epub(-1,-1): File "EPUB/missing.xhtml" could not be found.
ERROR indica un problema de conformidad; RSC-001 es su identificador; -1,-1 significa que no se puede señalar una línea y columna específicas. Consulta la documentación oficial de mensajes para confirmar el código en la versión que utilizas.
RSC-001 y RSC-007: falta un archivo mencionado en el EPUB
Una referencia apunta a un recurso que no está donde se espera. Imagina que el capítulo tiene esta imagen:
<img src="../Images/mapa.png" alt="Mapa de los lugares del relato" />
Pero en el paquete aparece Images/Mapa.png. La diferencia entre mapa.png y Mapa.png puede ser suficiente para romper el vínculo en sistemas que distinguen mayúsculas y minúsculas.
Qué revisar: abre el archivo EPUB en una copia de trabajo, identifica dónde está el recurso, compara el nombre exacto y confirma si se exportó. También revisa el documento OPF: un archivo presente en el ZIP puede estar mal declarado.
Qué evitar: crear una imagen vacía solo para hacer desaparecer la alerta. Eso puede ocultar la ausencia de contenido que el lector necesita.
RSC-008: el recurso está, pero no figura en el manifest
El manifest del documento OPF declara los recursos que integran la publicación. Una página puede enlazar a una imagen que existe físicamente, pero no está incluida en esa declaración.
<manifest>
<item id="capitulo-1" href="Text/01.xhtml"
media-type="application/xhtml+xml" />
<item id="mapa" href="Images/mapa.png"
media-type="image/png" />
</manifest>
El ejemplo ilustra la estructura de una declaración válida, no un OPF completo. Los valores href del manifest son relativos a la ubicación del propio OPF. No copies el mismo camino de un documento XHTML sin comprobar desde dónde se resuelve.
Después de modificarlo, verifica que el recurso realmente sea del tipo declarado y que no exista otra entrada contradictoria.
RSC-012: el enlace existe, pero su destino no
Los índices y las referencias internas suelen depender de un identificador id en la página de destino. Si el índice usa #capitulo-3 pero el capítulo contiene id="capitulo-03", no se está apuntando al mismo elemento.
<!-- Enlace del índice -->
<a href="capitulo.xhtml#capitulo-3">Capítulo 3</a>
<!-- Encabezado real -->
<h2 id="capitulo-03">Capítulo 3</h2>
Corrige la referencia o el identificador en el proyecto fuente. Después abre el índice en una aplicación de lectura y comprueba que llegas exactamente a la sección deseada. Un enlace técnicamente correcto todavía puede ser poco claro para quien navega con tecnologías de asistencia.
OPF_049: el orden de lectura apunta a un identificador inexistente
El spine del paquete OPF establece el recorrido principal de lectura mediante referencias a elementos del manifest. Si un idref no corresponde a un id, la estructura es incoherente.
<manifest>
<item id="texto-1" href="Text/01.xhtml"
media-type="application/xhtml+xml" />
</manifest>
<spine>
<itemref idref="texto-01" />
</spine>
Los valores texto-1 y texto-01 no coinciden. Debes corregir la referencia, no inventar un segundo archivo para «completar» el listado. Revisa también que el orden de capítulos tenga sentido editorial.
PKG_006 y PKG_007: el paquete ZIP no cumple las reglas EPUB
Un EPUB no es simplemente cualquier archivo ZIP con otra extensión. Su estructura incluye un archivo mimetype con reglas particulares. Si el contenedor se reconstruye de forma incorrecta, EPUBCheck puede mostrar errores aunque los XHTML internos parezcan correctos.
Para el archivo mimetype, el contenido esperado es:
application/epub+zip
Debe cumplir las condiciones del contenedor EPUB, entre ellas su posición y representación apropiadas. Si el problema apareció después de descomprimir y volver a comprimir el libro, regresa al proyecto fuente y exporta con una herramienta que genere paquetes EPUB conformes. No cambies solamente la extensión del archivo.
Cómo decidir qué corregir primero
| Problema | Códigos de ejemplo | Primera comprobación |
|---|---|---|
| Falta un recurso | RSC-001, RSC-007 |
Archivo real, ruta, mayúsculas y exportación |
| Recurso no declarado | RSC-008 |
Manifest OPF y tipo de archivo |
| Enlace interno roto | RSC-012 |
Identificador de destino y navegación |
| Referencia del orden de lectura | OPF_049 |
Correspondencia entre spine y manifest |
| Estructura del contenedor | PKG_006, PKG_007 |
Exportación EPUB y archivo mimetype |
Esta tabla no modifica las categorías oficiales de EPUBCheck. Una recomendación práctica no equivale por sí misma a una nueva regla técnica.
El flujo de trabajo que evita corregir dos veces
Guarda el original. Conserva el archivo que dio error y la salida del validador.
Identifica la causa. Busca el recurso o la declaración correspondiente. Un código puede aparecer varias veces por una sola falla.
Corrige desde la fuente. Si dispones del proyecto de InDesign, Sigil u otra herramienta, evita arreglos manuales que el siguiente export pueda sobrescribir.
Vuelve a validar. Ejecuta EPUBCheck sobre la nueva versión. Después revisa accesibilidad con Ace by DAISY y pruebas manuales cuando corresponda.
Comprueba el archivo que realmente publicarás. No confundas libro-final.epub con una versión de prueba ya corregida.
Para organizar la reparación de principio a fin, continúa con Cómo corregir un EPUB sin crear nuevos errores. Si necesitas una primera evaluación de tu archivo, consulta Nommera Prism, que no sustituye las revisiones funcionales ni garantiza la aceptación por las plataformas.
Preguntas frecuentes
¿Por qué mi EPUB se abre bien si EPUBCheck muestra errores?
Porque una aplicación de lectura puede tolerar determinados defectos. Que se abra no demuestra que el archivo cumpla todas las reglas EPUB.
¿Puedo corregir los errores sin saber programar?
Algunos problemas se solucionan reexportando correctamente; otros exigen revisar archivos y referencias. Antes de editar XML manualmente, conserva una copia y comprende cuál es la causa.
¿Una advertencia significa que la tienda rechazará el libro?
No necesariamente. Los requisitos de cada canal y la gravedad de los mensajes deben evaluarse por separado.
¿Qué hago cuando desaparece un error y aparece otro?
Comprueba qué cambió entre las dos versiones y si el nuevo archivo fue empaquetado correctamente. Evita modificar varios componentes al mismo tiempo sin registro.