epubcheck icon indicating copy to clipboard operation
epubcheck copied to clipboard

OEBPS 1.2 mode: use DC:Identifier, not DC:identifier

Open rdeltour opened this issue 12 years ago • 4 comments

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

rdeltour avatar Oct 15 '13 01:10 rdeltour

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:

  1. Create an ePub containing an OEBPS 1.2-compliant OPF file (specifically, all dc:Identifier tags with an uppercase first letter).
  2. 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

rdeltour avatar Oct 15 '13 01:10 rdeltour

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

rdeltour avatar Oct 15 '13 01:10 rdeltour

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.

rdeltour avatar Oct 15 '13 01:10 rdeltour

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:

  1. Create an ePub containing an OEBPS 1.2-compliant OPF file (specifically, all <dc:Identifier> tags with an uppercase first letter).
  2. 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

rdeltour avatar Oct 15 '13 01:10 rdeltour