Nordic EPUB3 Package Document rules

Rule ID Rule description
opf1 the OPF file must have the extension .opf
opf1 the filename of the OPF must be package.opf
opf1 the OPF must be contained in a folder named EPUB
opf2 the version attribute must be 3.0
opf2 on the package element; the unique-identifier-attribute must be present and equal 'pub-identifier'
opf2 on the package element; the dublin core namespace (xmlns:dc="http://purl.org/dc/elements/1.1/") must be declared on the package element
opf2 on the package element; the prefix attribute must declare the nordic metadata namespace (prefix="nordic: http://www.mtm.se/epub/")
opf3a there must be exactly one dc:identifier element
opf3a the id of the dc:identifier must equal the value of the package elements unique-identifier attribute
opf3a The identifier ("...") must start with a upper- or lower-case letter (A-Z or a-z), or a digit (0-9).
opf3a The identifier ("...") must end with a upper- or lower-case letter (A-Z or a-z), or a digit (0-9).
opf3a The identifier ("...") must only contain upper- or lower-case letters (A-Z or a-z), digits (0-9), dashes (-) and underscores (_).
opf3b exactly one dc:title ... must be present in the package document.
opf3b the dc:title ... must not be empty.
opf3c exactly one dc:language ... must be present in the package document.
opf3c the language code ("...") must be either a "two-letter lower case" code or a "two-letter lower case + hyphen + two-letter upper case" code.
opf3d exactly one dc:date ... must be present
opf3d the dc:date (...) must be of the format YYYY-MM-DD (year-month-day)
opf3e exactly one dc:publisher ... must be present
opf3e the dc:publisher cannot be empty
opf3f exactly one last modified date ... must be present
opf3f the last modified date (...) must use UTC time and be on the form "CCYY-MM-DDThh:mm:ssZ" (year-month-date "T" hour:minute:second "Z")
opf3g at least dc:creator (i.e. book author) ... must be present
opf3h exactly one dc:source ... must be present
opf3h the dc:source ("...") must start with 'urn:isbn:' or 'urn:issn'
opf3h the ISBN or ISSN in dc:source ("...") can only contain numbers and hyphens, in addition to the 'urn:isbn:' or 'urn:issn:' prefix. The last digit can also be a 'X' in some ISBNs.
opf3i there must be exactly one meta element with the property "nordic:guidelines" ...
opf3i the value of nordic:guidelines must be '2015-1'
opf3j there must be exactly one meta element with the property "nordic:supplier" ...
opf4 all EPUB3 meta elements ... must have an equivalent OPF2 meta element (<meta name="..." content="..."/>)
opf4 the value of the EPUB3 meta elements must equal their equivalent OPF2 meta elements. The EPUB3 meta element is ... while the OPF2 element is ...
opf5a a NCX must be present in the manifest (media-type="application/x-dtbncx+xml")
opf5b the NCX must be located in the same directory as the package document, and must be named "nav.ncx" (not "...")
opf6 the toc attribute must be present
opf6 the toc attribute must refer to an item in the manifest
opf7 the Navigation Document must be located in the same directory as the package document, and must be named 'nav.xhtml' (not "...")
opf8 all images must be stored in the "images" directory (which is a subdirectory relative to the package document). The image file "..." is located in "...".
opf9 all content files must be located in the same directory as the package document. The content file file "..." is located in "...".
opf10 Cover must be marked as secondary in the spine (i.e. set linear="no" on the itemref with idref="...", which refers to the cover)
opf11 Rearnotes must be marked as secondary in the spine (i.e. set linear="no" on the itemref with idref="..., which refers to the rearnote)
opf12a The content document "..." has a bad filename. Content documents must match the "[dc:identifier]-[position in spine]-[epub:type].xhtml" file naming convention. Example: "DTB123-01-cover.xhtml". The identifier are allowed to contain the upper- and lower-case characters A-Z and a-z as well as digits (0-9), dashes (-) and underscores (_). The position is a positive whole number consisting of the digits 0-9. The epub:type must be all lower-case characters (a-z) and can contain a dash (-). An optional positive whole number (digits 0-9) can be added after the epub:type to be able to easily tell different files with the same epub:type apart. For instance: "DTB123-13-chapter-7.xhtml".
opf12b_identifier The "identifier" part of the filename ("...") must be the same as declared in metadata, i.e.: "...".
opf12b_type "..." is not a valid type. ... The filename of content documents must end with a epub:type defined in either the EPUB3 Structural Semantics Vocabulary (http://www.idpf.org/epub/vocab/structure/#) or the Z39.98-2012 Structural Semantics Vocabulary (http://www.daisy.org/z3998/2012/vocab/structure/).
opf12b_position The numbering of the content documents must all have the equal number of digits.
opf12b_position The numbering of the content documents must be unique for each content document. ... is also used by another content document in the OPF.
opf12b_position The numbering of the content documents must start at 1 and increase with 1 for each item.
opf12b_position The ...... itemref (<iremref id="..." href="...">) should refer to <item href="...">.
opf13 the Navigation Document must be identified with the attribute properties="nav" in the OPF manifest. It currently ...
opf14 the Navigation Document must not be present in the OPF spine (itemref with idref="...").
opf15a The cover image must have a properties attribute containing the value 'cover-image': ...
opf15b The image with property value 'cover-image' must have the filename 'cover.jpg': ...