|
|
#256 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,649
Karma: 153744859
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
I've found yet some more differences between epubveri and epubcheck.
I change ePub type from 2 to 3 and then got these. Here is the OPF. Code:
<?xml version='1.0' encoding='utf-8'?>
<package xmlns="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="bookid">
<metadata>
<dc:identifier id="bookid">urn:asin:B0DWKRJQSH</dc:identifier>
<dc:title>The Metal Woman</dc:title>
<dc:creator opf:role="aut">Frank J. Cavill</dc:creator>
<dc:language>en</dc:language>
<dc:publisher>Pedro Urvi</dc:publisher>
<dc:date opf:event="publication">2025-04-24</dc:date>
<meta name="cover" content="image_rsrc51H.jpg"/>
</metadata>
<manifest>
<item href="cover.xhtml" id="c0.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter07.xhtml" id="c136.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter08.xhtml" id="c179.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter09.xhtml" id="c1A1.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter10.xhtml" id="c1F2.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter11.xhtml" id="c1ME.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter12.xhtml" id="c1T5.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter13.xhtml" id="c1X3.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter14.xhtml" id="c210.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter15.xhtml" id="c25D.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter16.xhtml" id="c29F.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter17.xhtml" id="c2DR.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter18.xhtml" id="c2J8.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter19.xhtml" id="c2R4.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter20.xhtml" id="c2X6.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter21.xhtml" id="c322.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter22.xhtml" id="c32S.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter23.xhtml" id="c36R.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter24.xhtml" id="c3AE.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter25.xhtml" id="c3DV.xhtml" media-type="application/xhtml+xml"/>
<item href="prologue.xhtml" id="c3F.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter26.xhtml" id="c3HU.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter27.xhtml" id="c3PH.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter28.xhtml" id="c3XR.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter29.xhtml" id="c42T.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter30.xhtml" id="c461.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter31.xhtml" id="c4A0.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter32.xhtml" id="c4F0.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter33.xhtml" id="c4M0.xhtml" media-type="application/xhtml+xml"/>
<item href="acknowledgements.xhtml" id="c4VE.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter01.xhtml" id="c5T.xhtml" media-type="application/xhtml+xml"/>
<item href="titlepage.xhtml" id="c9.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter02.xhtml" id="cBP.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter03.xhtml" id="cGJ.xhtml" media-type="application/xhtml+xml"/>
<item href="copyright.xhtml" id="cM.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter04.xhtml" id="cMY.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter05.xhtml" id="cSP.xhtml" media-type="application/xhtml+xml"/>
<item href="chapter06.xhtml" id="cY4.xhtml" media-type="application/xhtml+xml"/>
<item href="cover.jpg" id="image_rsrc51H.jpg" media-type="image/jpeg"/>
<item href="stylesheet.css" id="stylesheet.css" media-type="text/css"/>
<item href="toc.ncx" id="toc.ncx" media-type="application/x-dtbncx+xml"/>
</manifest>
<spine toc="toc.ncx">
<itemref idref="c0.xhtml"/>
<itemref idref="c9.xhtml"/>
<itemref idref="cM.xhtml"/>
<itemref idref="c3F.xhtml"/>
<itemref idref="c5T.xhtml"/>
<itemref idref="cBP.xhtml"/>
<itemref idref="cGJ.xhtml"/>
<itemref idref="cMY.xhtml"/>
<itemref idref="cSP.xhtml"/>
<itemref idref="cY4.xhtml"/>
<itemref idref="c136.xhtml"/>
<itemref idref="c179.xhtml"/>
<itemref idref="c1A1.xhtml"/>
<itemref idref="c1F2.xhtml"/>
<itemref idref="c1ME.xhtml"/>
<itemref idref="c1T5.xhtml"/>
<itemref idref="c1X3.xhtml"/>
<itemref idref="c210.xhtml"/>
<itemref idref="c25D.xhtml"/>
<itemref idref="c29F.xhtml"/>
<itemref idref="c2DR.xhtml"/>
<itemref idref="c2J8.xhtml"/>
<itemref idref="c2R4.xhtml"/>
<itemref idref="c2X6.xhtml"/>
<itemref idref="c322.xhtml"/>
<itemref idref="c32S.xhtml"/>
<itemref idref="c36R.xhtml"/>
<itemref idref="c3AE.xhtml"/>
<itemref idref="c3DV.xhtml"/>
<itemref idref="c3HU.xhtml"/>
<itemref idref="c3PH.xhtml"/>
<itemref idref="c3XR.xhtml"/>
<itemref idref="c42T.xhtml"/>
<itemref idref="c461.xhtml"/>
<itemref idref="c4A0.xhtml"/>
<itemref idref="c4F0.xhtml"/>
<itemref idref="c4M0.xhtml"/>
<itemref idref="c4VE.xhtml"/>
</spine>
<guide>
<reference type="start" title="Start" href="cover.xhtml"/>
</guide>
</package>
Code:
OEBPS/content.opf 9 14 ERROR RSC-005: attribute "opf:event" is not allowed here OEBPS/content.opf 6 17 ERROR RSC-005: attribute "opf:role" is not allowed here OEBPS/content.opf 13 3 ERROR RSC-005: EPUB 3 requires a navigation document (a manifest item with properties="nav") Code:
content.opf Line:13 Col:13 ERROR(RSC-005): Error while parsing file: Exactly one manifest item must declare the "nav" property (number of "nav" items: 0). content.opf Line:9 Col:38 ERROR(RSC-005): Error while parsing file: attribute "opf:event" not allowed here; expected attribute "id" content.opf Line:6 Col:32 ERROR(RSC-005): Error while parsing file: attribute "opf:role" not allowed here; expected attribute "dir", "id" or "xml:lang" epubveri output: Code:
OEBPS/content.opf 11 5 ERROR RSC-005: element "meta" is missing a required attribute OEBPS/content.opf 11 11 ERROR RSC-005: attribute "property" is not allowed here Code:
content.opf Line:11 Col:63 ERROR(RSC-005): Error while parsing file: attribute "property" not allowed here; expected attribute "content", "id", "name", "scheme" or "xml:lang" content.opf Line:11 Col:63 ERROR(RSC-005): Error while parsing file: element "meta" missing required attributes "content" and "name" content.opf Line:11 Col:83 ERROR(RSC-005): Error while parsing file: text not allowed here; expected the element end-tag Last edited by JSWolf; Yesterday at 02:46 PM. |
|
|
|
|
|
#257 |
|
Zealot
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 100
Karma: 100000
Join Date: Jul 2026
Location: Planet Earth
Device: Kobo Forma
|
Thanks for this. I rebuilt both books from your OPF and ran the two tools side by side.
The short answer first, because I'd rather say it plainly than bury it: in both cases we report the same errors as epubcheck, with the same IDs on the same lines, and the same number of them. Nothing is missed and nothing is invented. What differs is the column and the wording — and one of those was worth fixing. The message that didn't say enough. You're right that this is close to useless: Code:
element "meta" is missing a required attribute Code:
element "meta" is missing required attributes "content" and "name" The third epubcheck line in your EPUB 2 output. "text not allowed here" — we do implement that one. What you're seeing is deliberate: once an element has already failed on its attributes, we don't go on to report its content as well. Give the same meta valid attributes and stray text and we report it: Code:
ERROR RSC-005: stray text is not allowed directly in "meta"; wrap it in an element The columns. We point at where a construct starts, epubcheck at where it ends. For opf:role on line 6 we say column 17, where the attribute begins; epubcheck says 32, just past it. Same for the nav one — line 12 either way, column 3 against 13. Neither is wrong, and ours is the position an editor would put a cursor at. I'm not planning to change it, but you were diffing columns, so you should know it's a decision rather than an accident. The nav wording differs too — we say a navigation document is required, epubcheck says exactly one manifest item must declare the "nav" property. Same ID, same line, same defect, and I think both are clear enough to leave alone. One caveat on all of the above: your manifest and spine were elided in the post, so I rebuilt them minimally. If the real file produces anything beyond the lines you quoted, send it and I'll look at the actual book rather than my reconstruction. |
|
|
|
| Advert | |
|
|
|
|
#258 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,649
Karma: 153744859
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
All the errors were just in the OPF. No other errors outside of the OPF.
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| EPUBCheck v4.2.6 | jhowell | ePub | 0 | 06-30-2021 03:49 PM |
| EPUBCheck v4.2.5 | jhowell | ePub | 0 | 03-23-2021 09:45 AM |
| EPUBCheck v4.2.4 | jhowell | ePub | 3 | 06-24-2020 09:51 AM |
| EPUBCheck v4.1.1 | Doitsu | ePub | 2 | 03-18-2019 10:39 AM |
| Web-based epubcheck upgraded to epubcheck 1.0.5 | kjk | ePub | 4 | 02-09-2010 09:53 PM |