Schematron rules for Nordic EPUB 2020-1

Rule Global description Detailed description
1 [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
2 [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 using the correct namespace URI (prefix="nordic: http://www.mtm.se/epub/")
[opf2] on the package element; the prefix attribute must declare the a11y metadata namespace using the correct URI (prefix="a11y: http://www.idpf.org/epub/vocab/package/a11y/#")[opf2] on the package element; the prefix attribute must declare the '' prefix
3 [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
[opf3b] exactly one dc:title must be present in the package document when no title is uniquely defined as main.
[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- or three-letter lower case" code or a "two- or three-letter lower case and groups of hyphen followed by numbers or letters" (i.e. zh-Hanz-UTF8) 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
[opf3g] at least dc:creator (i.e. book author) must be present
[opf3h] exactly one dc:source must be present
[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 '2020-1'
[opf3j] there must be exactly one meta element with the property "nordic:supplier"
5b [opf5b] the NCX must be located in the same directory as the package document, and must be named "nav.ncx" (not "")
6 [opf6] the toc attribute must be present
[opf6] the toc attribute must refer to the nav.ncx item in the manifest
7 [opf7] the Navigation Document must be located in the same directory as the package document, and must be named 'nav.xhtml' (not "")
8 [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 "".
9 [opf9] all content files must be located in the same directory as the package document. The content file file "" is located in "".
10 [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)
[opf10] All preceeding documents to the cover must be marked as secondary in the spine (i.e. set linear="no")[opf10] All preceeding documents to the titlepage or halftitlepage must be marked as secondary in the spine (i.e. set linear="no")
12a [opf12a] The content document "" has a bad filename. Content documents must match the "[dc:identifier]-[position in spine]-[role or 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 role or 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 role or epub:type to be able to easily tell different files with the same role or epub:type apart. For instance: "DTB123-13-chapter-7.xhtml".
12b [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 ARIA EPUB Digital Publishing Roles (https://www.w3.org/TR/dpub-aria-1.0/#roles).
[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 idref="" href="...">) should refer to <item id="" href="">.
13 [opf13] the Navigation Document must be identified with the attribute properties="nav" in the OPF manifest. It currently
14 [opf14] the Navigation Document must not be present in the OPF spine (itemref with idref="").
15a [opf15a] The cover image must have a properties attribute containing the value 'cover-image':
15b [opf15b] The image with property value 'cover-image' must have the filename 'cover.jpg':