I think I just figured something out…
Microsoft claims that the goal of the OOXML file format is compatibility with legacy documents. Others point out that compatibility with legacy documents is an application feature, not a file format feature.
Except with OOXML it is, in fact, a file format feature. OOXML allows (at least some) legacy documents to be included verbatim.
At that point, OOXML is 100% compatible with legacy documents by fiat. It has perfect fidelity, because it contains the original document in the original format. Nobody might know any more how it's supposed to be displayed, but it's perfectly preserved.
Advanced sophistry, perhaps; or maybe retarded sophistry. Sometimes it's hard to tell.
As a design, this is nuts. Rather than putting the converter code into a separate conversion tool, where it'll be relatively out of the way and relatively easily managed, the standard specifies that all implementations have to be able to do the conversion at the drop of a hat.
(Of course, you still need a mini-converter to copy the legacy documents into the OOXML format and mark them as "to-be-translated". Curiously, such a mini-converter is not conforming to OOXML, even though it's producing perfectly valid OOXML files.)
⇦If OOXML were a cookbook…
Comments disabled on account of spam.