OPS has conflicting definitions of "out of line xml islands".
| Project: | EPUB Maintenance |
| Component: | Open Publication Structure (OPS) |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | completed @ 2.0.1 |
Jump to:
Out of line XML conformance forbids use of "application/xhtml+xml" for out of line xml islands:
http://www.idpf.org/2007/ops/OPS_2.0_final_spec.html#Section1.4.1.4
A document is an Out-of-line XML Island Content Document if and only if:
1. it is a well-formed and valid XML document (as defined by XML 1.1 according to its schema); and
2. it is encoded in UTF-8 or UTF-16; and
3. it has a MIME media type other than application/xhtml+xml, text/x-oeb1-document or application/x-dtbook+xml.
The definition in OPS 2.6.2.
http://www.idpf.org/2007/ops/OPS_2.0_final_spec.html#Section2.6.2
An Out-Of-Line XML Island is a complete XML document that is not authored in one of the Preferred Vocabularies or uses an Extended Module in an otherwise Preferred Vocabulary document. Including an Out-Of-Line XML Island requires several declarations in various parts of the Publication.
And the XHTML guideline is that the "application/xhtml+xml" is for the whole XHTML family of documents.
http://www.w3.org/TR/xhtml-media-types/#application-xhtml-xml
"... This media type must be used when writing documents using XHTML Family document types that add elements and attributes from foreign namespaces, such as XHTML+MathML ..."
So, the issue arises if I want to author a document that uses an extended module (say, MathML), the files that use XHTML+MathML would be out of line XML according to the definition in OPF sec 1.2 and OPS sec 2.6.2. Unfortunately there's no media type that could be used. (application/xhtml+xml would be right according to the XHTML spec, but would mean it's out of compliance according to OPS 1.4.1.4.)
I propose we resolve this by altering Section 1.4.1.4 of OPS to read:
"it has a MIME media type other than application/xhtml+xml (and is not an extended XHTML module), text/x-oeb1-document or application/x-dtbook+xml."
- Login to post comments

Comments
#1
I think this is likely an error in OPS - whoever drafted that conformance rule forgot about the modules case. Though, I don't think MathML counts as a module. I think module was intended to be an XHTML module, like "forms" or "server-side-image-map". Fortunately, we never explicitly state that, but we do imply it in an ambiguous way so we should have a few days of entertainment resolving this.
#2
I really wonder why the XHTML specs decided to use application/xhtml+xml for MathML instead of adding a media parameter. In AtomPub, you can easily identify a feed (application/atom+xml;type=feed) from an entry (application/atom+xml;type=entry) even though they both share the same core media type (application/atom+xml). Something similar would be very helpful to identify various documents from the XHTML family.
#3
I've assigned the issue to myself as a lead. If you have input on this issue outside of commentary on the wiki, feel free to contact me at ben at prodigal dot ca.
#4
I propose we resolve this by altering Section 1.4.1.4 of OPS to read:
"it has a MIME media type other than application/xhtml+xml (and is not an extended XHTML module), text/x-oeb1-document or application/x-dtbook+xml."
#5
#6