EPUB 3 Working Group Telco — Minutes

Date: 2022-09-29

See also the Agenda and the IRC Log


Present: Shinya Takami (高見真也), Brady Duga, Wendy Reid, David Hall, Matthew Chan, Murata Makoto, Masakazu Kitahara



Chair: Wendy Reid

Scribe(s): Matthew Chan


1. Can a conforming RS reject EPUBs that reference external entities? (issue epub-specs#2433)

See github issue epub-specs#2433.

Brady Duga: I was running a test that had external entities. The spec says you must leave the entity as if it wasn’t an external entity.
… we reject that EPUB with an error, and request that publisher fix it.
… would that make us non-conforming?.
… and does that mean that conforming RS are not allowed to reject EPUBs, even if they don’t pass EPUB check?.
… some related discussion in the issue about what this means for MathML.

Murata Makoto: in general i’m against application conformance. I’d avoid describing required behaviour of RS. I’m for data conformance, i.e. requirements in EPUBs.
… only if we have very strong reasons to describe behaviours should we say something. In this case, I would not say anything about what the specific implementation should be.
… i.e. reject EPUB, crash, display error.

Brady Duga: I agree, and in some sense that feels like what we did in the past.
… especially now that we have a separate spec for RS.
… but we also don’t want these EPUBs to work.
… say publisher creates a book with external entity, and some RS displays it “correctly” by showing the external entity.
… creates perception that supporting external entity is okay.

Murata Makoto: EPUB 3.3 Core already disallows external entities.

Brady Duga: people who make EPUBs don’t necessarily read the spec.

Murata Makoto: there could be many such errors beyond our imagination.

Brady Duga: i worry that if we say nothing, supporting external entities could also be valid.

Shinya Takami (高見真也): if Core says these external entities are disallowed, then epubcheck should mark this as an error.

Murata Makoto: https://www.w3.org/TR/epub-33/#sec-xml-constraints.

Shinya Takami (高見真也): if there is no prohibition, then there should be a warning.

Wendy Reid: in the issue there is a log from epubcheck that shows an error being output in this case.
… I also agree that its weird when we get too specific when we say what RS should do when they run into specific scenarios.
… in this case though, we had not previously talked about validation or what happens between the publisher and the RS.
… the intermediary layer of epubcheck/ingestion pipeline.
… which often rejects content before it gets to the RS.

Brady Duga: the problem is that the rejection code is the RS, i.e. it is the thing that you submit the authored EPUB to.
… those requirements are on the RS.

Shinya Takami (高見真也): publishers sometimes generate mistakes in EPUB files. RS should ignore if they find external entities in EPUBs.

Brady Duga: from a publishing standpoint, would they rather see an error and a rejection, or allow that to potentially get through to end users.
… I feel they would rather flag the error/external entity right away.

Murata Makoto: a long time ago, there was discussion about draconian error handling in XML processing, i.e. if you should stop right away when you encounter error, or if you should try to recover.
… I feel EPUB should be a case of draconian error handling.
… in a11y world, there is confusion about who should be responsible for what. A similar case of failure of application conformance.

Shinya Takami (高見真也): I disagree. We should try to process EPUBs even if they have errors. Maybe just ignore the error by continue to process.

Brady Duga: i think it depends. When I get a publication from a publisher, I would like to reject right away and notify. When I get an EPUB from a user/sideload, I would like to continue to process as best as I can.
… can the spec be written in a way that makes both acceptable.
… without supporting external entities.

Wendy Reid: I did a test with that file on Thorium and Apple Books. Test passes on Thorium, but fails on Apple Books (both statements display).
… I think I agree that if we can prevent errors, then we should do so. But if someone happens to sideload a book that has external entities in it or whatever, we shouldn’t stop them from opening the book.
… how would you explain to an end user that they need to go back to the publisher where they got the book?.

Murata Makoto: unlike in XML, in EPUB we have said nothing about “incorrect publications”. We leave it open to RS to define what is incorrect to them..

Wendy Reid: i think we agree that we want to allow a conforming RS to reject something pre-processing, but also make it possible to continue to process.

Murata Makoto: in general, I think we should say nothing about what RS should do. This would ensure the hands of implementors are not tied..

Brady Duga: do we know how many of this type of requirement are in the RS spec?.

Wendy Reid: yeah, those tests about “RS must resolve package metadata”, so probably several are in there.
… mgarrish would know.

Murata Makoto: Agreed.

Brady Duga: if there are few enough, should we review them all so that whatever solution we implement is consistent across them all?.

Proposed resolution: Review RS specification for statements around RS behaviour for non-conformant EPUB publications, check if can they be removed safely. (Wendy Reid)

Brady Duga: +1.

Murata Makoto: +1.

Toshiaki Koike: +1.

Wendy Reid: +1.

Shinya Takami (高見真也): +1.

Matthew Chan: +1.

Masakazu Kitahara: +1.

Resolution #1: Review RS specification for statements around RS behaviour for non-conformant EPUB publications, check if can they be removed safely.

2. What do we do with the satellite specifications?.

Wendy Reid: the EPUB 3 spec has a number of satellite specs. None are on rec track except EPUB a11y. Of the remainder, some are living in the github: EPUB cfi, multiple renditions, ssv and tts, and the 2 notes re. fxl a11y and virtual locators.
… others are still living in IDPF space, that could be pulled in.

Murata Makoto: Yes!.

Wendy Reid: possibly region-based navigation could be pulled into w3c space.
… they are fine where they are, but if we wanted to publish them as w3c notes, this is our chance.

Shinya Takami (高見真也): in JP, we already have sufficient notes in the current github.

Wendy Reid: See list of IDPF document.

Wendy Reid: that might not be all of them.
… it’s a little hard to find them.
… if there are no more comments on this, we will probably pull in region-based nav. Colibrio was thinking of implementing, I heard..

Murata Makoto: I personally would like to revisit some decisions in the region-based nav spec..

3. Testing Update.

Wendy Reid: https://w3c.github.io/EPUB-tests/results#sec-consolidated-report-tables.

Wendy Reid: we are nearly complete with adding all the tests in. A couple opf tests outstanding.
… thanks to all who have contributed to either writing or running tests.
… this is what the table looks like at the moment.
… many features have already reached the necessary threshold.
… how are we doing with translations?.

Brady Duga: I need to wait until we have a fairly final list of the tests and their text.
… should I keep waiting, or do I go ahead now?.

Wendy Reid: the opf tests will be delivered this weekend.
… if those don’t come in this weekend, then go ahead.

Brady Duga: okay, I will make the requests.

4. AOB?.

Wendy Reid: okay, if not, we can end a little early. Thanks everyone for attending! See you in a bit..

5. Resolutions