EPUBCheck HTM-003: entidade externa declarada
Atualizado:
EPUBCheck HTM-003 é uma mensagem de erro: “External entities are not allowed in EPUB v3 documents. External entity declaration found: ….” Um documento EPUB 3 declara uma entidade externa, que EPUB não permite. Entidades externas puxam texto de outro arquivo através do DOCTYPE, e os aplicativos de leitura não as resolvem, então o texto ficaria ausente.
A mensagem oficial
External entities are not allowed in EPUB v3 documents. External entity declaration found: %1$s.
- Severidade padrão
- Erro. O EPUB quebra uma regra da especificação e é inválido. Lojas e Enviar para Kindle podem rejeitá-lo, e EPUBCheck sai com status 1.
- versão EPUBCheck
- 5.4.0
%1$s, %2$s… são preenchidos com o arquivo, valor ou elemento EPUBCheck encontrado.
Causas típicas
- Um DOCTYPE com um subconjunto interno (a parte entre colchetes) que declara entidades carregadas de um arquivo externo.
- XML exportado de um sistema de publicação que usou arquivos de entidades para texto compartilhado, como o título do livro.
Como consertar isso
- Abra o arquivo EPUBCheck names (a mensagem dá o caminho, linha e coluna) em um editor de texto ou EPUB como Sigil, ou descompacte o EPUB e abra-o lá.
- Remova as declarações de entidade do DOCTYPE; nos capítulos XHTML o DOCTYPE deve ser apenas
<!DOCTYPE html>. - Substitua cada uso da entidade pelo texto real, ou por uma referência de caractere numérica como
 quando ela se referia a um único caractere. - Reconstrua o EPUB e execute EPUBCheck novamente para confirmar que a mensagem desapareceu.
Quando não é isso
Se uma entidade como for usada sem ser declarada, isso é HTM-011, não HTM-003.
Termos usados aqui
Outras mensagens de HTM
HTM-004Irregular DOCTYPE: found "…", expected "…".HTM-001Any publication resource that is an XML-based media type must be a valid XML 1.0 document. XML version found: ….HTM-007Empty or whitespace-only value of attribute ssml:ph.HTM-009The DOCTYPE provided is obsolete or irregular and can be removed.HTM-010Namespace "…" is unusual for the prefix "epub".HTM-011Entity is undeclared.
Fontes
Texto da mensagem e severidade de EPUBCheck 5.4.0 (W3C, BSD-3-Clause). Explicação por EpubCC.