Go directly to main content.

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

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.)

Description
Issue Id: 
14
Resolution: 

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."

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

Assigned to:Anonymous»

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

Status:open» proposed resolution

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

Status:proposed resolution» errata

#6

Status:errata» completed @ 2.0.1