diff --git a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java index 65d71c011..249b7f3f4 100644 --- a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java +++ b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java @@ -107,7 +107,7 @@ private void initialize() severities.put(MessageId.HTM_012, Severity.USAGE); severities.put(MessageId.HTM_013, Severity.USAGE); severities.put(MessageId.HTM_014, Severity.WARNING); - severities.put(MessageId.HTM_014a, Severity.WARNING); + severities.put(MessageId.HTM_014a, Severity.SUPPRESSED); severities.put(MessageId.HTM_015, Severity.SUPPRESSED); severities.put(MessageId.HTM_016, Severity.SUPPRESSED); severities.put(MessageId.HTM_017, Severity.ERROR); diff --git a/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java b/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java index 9c8de1ae4..8835634de 100644 --- a/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java +++ b/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java @@ -113,12 +113,6 @@ protected void checkItem(OPFItem item, OPFHandler opfHandler) report.message(MessageId.OPF_091, EPUBLocation.create(path, item.getLineNumber(), item.getColumnNumber())); } - if ("application/xhtml+xml".equals(mimeType) - && !"xhtml".equals(Files.getFileExtension(PathUtil.removeFragment(item.getPath())))) - { - report.message(MessageId.HTM_014a, - EPUBLocation.create(path, item.getLineNumber(), item.getColumnNumber()), item.getPath()); - } // Note: item fallback existence is checked in schematron, i.e.: // opfHandler.getItemById(item.getFallback().get()).isPresent() == true diff --git a/src/test/resources/epub3/content-publication.feature b/src/test/resources/epub3/content-publication.feature index 7f7b89263..6432e2d82 100644 --- a/src/test/resources/epub3/content-publication.feature +++ b/src/test/resources/epub3/content-publication.feature @@ -15,6 +15,10 @@ Feature: EPUB 3 ▸ Content Documents ▸ Full Publication Checks ## 2. XHTML Content Documents + Scenario: Verify that an XHTML Content Document can have any extension + When checking EPUB 'content-xhtml-file-extension-unusual-valid' + Then no errors or warnings are reported + ### 2.2 Content Conformance Scenario: Report RelaxNG schema errors when checking a Content Document in a full publication @@ -244,14 +248,6 @@ Feature: EPUB 3 ▸ Content Documents ▸ Full Publication Checks And no other errors or warnings are reported - #### File Properties - - Scenario: Report an XHTML content document without an `.xhtml` extension - When checking EPUB 'content-xhtml-extension-warning' - Then warning HTM-014a is reported - And no other errors or warnings are reported - - ### 2.5 HTML Deviations and Constraints #### 2.5.5 Foreign Resource Restrictions @@ -306,6 +302,10 @@ Feature: EPUB 3 ▸ Content Documents ▸ Full Publication Checks Then error RSC-015 is reported And no other errors or warnings are reported + Scenario: Verify that an SVG Content Document can have any extension + When checking EPUB 'content-svg-file-extension-unusual-valid' + Then no errors or warnings are reported + ## 4. CSS Style Sheets diff --git a/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/content_001.img b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/content_001.img new file mode 100644 index 000000000..ea66534c9 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/content_001.img @@ -0,0 +1,6 @@ + + + SVG Content Document + Rectangle + + diff --git a/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/nav.xhtml b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/nav.xhtml new file mode 100644 index 000000000..f7b525b57 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/package.opf b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/package.opf new file mode 100644 index 000000000..ec0b8c0be --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/EPUB/package.opf @@ -0,0 +1,16 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/META-INF/container.xml b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/META-INF/container.xml new file mode 100644 index 000000000..318782179 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/mimetype b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-svg-file-extension-unusual-valid/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/content_001.web b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/content_001.web new file mode 100644 index 000000000..ea29a1610 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/content_001.web @@ -0,0 +1,11 @@ + + + + + Minimal EPUB + + +

Loomings

+

Call me Ishmael.

+ + diff --git a/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/nav.xhtml b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/nav.xhtml new file mode 100644 index 000000000..b840c01b9 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/package.opf b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/package.opf new file mode 100644 index 000000000..924f45c77 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/EPUB/package.opf @@ -0,0 +1,16 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/META-INF/container.xml b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/META-INF/container.xml new file mode 100644 index 000000000..318782179 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/mimetype b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub3/files/epub/content-xhtml-file-extension-unusual-valid/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mo b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mo new file mode 100644 index 000000000..11a9a791c --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mo @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mp3 b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mp3 new file mode 100644 index 000000000..3f140bbc4 Binary files /dev/null and b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.mp3 differ diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.xhtml b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.xhtml new file mode 100644 index 000000000..28757800c --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/content_001.xhtml @@ -0,0 +1,11 @@ + + + + + Minimal EPUB + + +

Loomings

+

Call me Ishmael.

+ + diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/nav.xhtml b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/nav.xhtml new file mode 100644 index 000000000..240745e63 --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/package.opf b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/package.opf new file mode 100644 index 000000000..ac200b1b0 --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/EPUB/package.opf @@ -0,0 +1,20 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + 2.5s + 2.5s + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/META-INF/container.xml b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/META-INF/container.xml new file mode 100644 index 000000000..318782179 --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/mimetype b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub3/files/epub/mediaoverlays-file-extension-unusual-valid/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/content_001.xhtml b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/content_001.xhtml new file mode 100644 index 000000000..ea29a1610 --- /dev/null +++ b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/content_001.xhtml @@ -0,0 +1,11 @@ + + + + + Minimal EPUB + + +

Loomings

+

Call me Ishmael.

+ + diff --git a/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/nav.xhtml b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/nav.xhtml new file mode 100644 index 000000000..240745e63 --- /dev/null +++ b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/package.pkg b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/package.pkg new file mode 100644 index 000000000..0d1eec6e9 --- /dev/null +++ b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/EPUB/package.pkg @@ -0,0 +1,16 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/META-INF/container.xml b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/META-INF/container.xml new file mode 100644 index 000000000..336e1a50e --- /dev/null +++ b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/mimetype b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub3/files/epub/package-file-extension-unusual-valid/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub3/mediaoverlays-publication.feature b/src/test/resources/epub3/mediaoverlays-publication.feature index 781daaf09..1f533931f 100644 --- a/src/test/resources/epub3/mediaoverlays-publication.feature +++ b/src/test/resources/epub3/mediaoverlays-publication.feature @@ -18,6 +18,10 @@ Feature: EPUB 3 ▸ Media Overlays ▸ Full Publication Checks When checking EPUB 'mediaoverlays-minimal-valid' Then no errors or warnings are reported + Scenario: Verify that a Media Overlays Document can have any extension + When checking EPUB 'mediaoverlays-file-extension-unusual-valid' + Then no errors or warnings are reported + ## 2. Media Overlay Document Definition diff --git a/src/test/resources/epub3/package-publication.feature b/src/test/resources/epub3/package-publication.feature index d025bd252..1a69146ff 100644 --- a/src/test/resources/epub3/package-publication.feature +++ b/src/test/resources/epub3/package-publication.feature @@ -15,10 +15,14 @@ Feature: EPUB 3 ▸ Packages ▸ Full Publication Checks Scenario: Verify a minimal EPUB When checking EPUB 'minimal' - Then no errors or warnings are reported + Then no errors or warnings are reported ## 3. Package Document + Scenario: Verify that the Package Document can have any extension + When checking EPUB 'package-file-extension-unusual-valid' + Then no errors or warnings are reported + ### 3.4.1 The package Element # FIXME the current API doesn’t allow the version to be explicitly set