OEBPS 1.2 mode: use DC:Identifier, not DC:identifier
From [email protected] on June 07, 2011 04:04:41
When parsing in OEBPS 1.2-compatible mode, require Dublin Core metadata to be specified with the first letter capitalized, per the 1.2 spec.
Attachment: OPFHandler.java.patch
Original issue: http://code.google.com/p/epubcheck/issues/detail?id=106
From [email protected] on June 06, 2011 19:05:31
PROBLEM:
When running in OEBPS 1.2 mode, epubcheck still assumes that Dublin Core metadata will be 2.0-compatible (dc:title, dc:identifier, etc. are lower case), rather than 1.2-compliant with the first letter uppercase (dc:Title, dc:Identifier).
This means that when looking for the dc:Identifier to match the unique-identifier attribute, it can never find it (it only looks for dc:identifier).
METHOD:
- Create an ePub containing an OEBPS 1.2-compliant OPF file (specifically, all dc:Identifier tags with an uppercase first letter).
- Run epubcheck on the ePub.
RESULT:
The ePub fails validation because the unique-identifier cannot be found.
EXPECTED:
I expect to not receive a "unique-identifier attribute in package element must reference an existing identifier element id" error.
PLATFORM:
epubcheck v1.2 Windows 7, Java 1.6.0_17
ADDITIONAL INFO:
Sample file that I believe should not cause errors (just two warnings, and frankly I'm not convinced on the unresolved-entities one either as long as x-oeb1-document is acceptable) is attached.
Attachment: oebps12.epub
From [email protected] on October 21, 2011 05:09:06
As far as I am aware, EPUBCheck never claimed to validate 1.x files, only 2.0 and later. I have clarified this on the starting page. Support for 1.x validation might be added as an enhancement later on.
Status: Accepted
Labels: -Type-Patch Type-Enhancement Priority-Low
From [email protected] on October 31, 2011 01:49:10
Correction: there is partial support for OEBPS 1.2 in a "compatibility mode"; but even so this remains lower priority to fix.
From [email protected] on June 06, 2011 19:05:31
PROBLEM:
When running in OEBPS 1.2 mode, epubcheck still assumes that Dublin Core metadata will be 2.0-compatible (dc:title, dc:identifier, etc. are lower case), rather than 1.2-compliant with the first letter uppercase (dc:Title, dc:Identifier).
This means that when looking for the <dc:Identifier> to match the unique-identifier attribute, it can never find it (it only looks for <dc:identifier>).
METHOD:
- Create an ePub containing an OEBPS 1.2-compliant OPF file (specifically, all <dc:Identifier> tags with an uppercase first letter).
- Run epubcheck on the ePub.
RESULT:
The ePub fails validation because the unique-identifier cannot be found.
EXPECTED:
I expect to not receive a "unique-identifier attribute in package element must reference an existing identifier element id" error.
PLATFORM:
epubcheck v1.2 Windows 7, Java 1.6.0_17
ADDITIONAL INFO:
Sample file that I believe should not cause errors (just two warnings, and frankly I'm not convinced on the unresolved-entities one either as long as x-oeb1-document is acceptable) is attached.
Attachment: oebps12.epub