Supporting more OOXML dialects in chart import

A common problem during our OOXML import is that there are several different OOXML dialects: OOXML transitional, OOXML strict and the not specified version written by MSO 2007. The MSO 2007 version is mostly identical to OOXML transitional with the small but nasty exception that they have some differences in the default values. Recently I got a document from a Collabora customer using MSO 2007 exhibiting some bugs related to that.

A few days ago I finally managed to bring support for handling the differences between the OOXML dialect written by MSO 2007 and the one in the specification to LibreOffice. This is an important step forward for our OOXML chart import as that code was written against the MSO 2007 version and more and more documents are generated by newer MSO versions. In recent years we have changed quite a few of the default values in the code to handle OOXML specification conforming documents correctly. Sadly this introduced a number of regressions for the handling of MSO 2007 documents.

With [1] and [2] we are now able to recognize files that have been created by MSO 2007 and are able to use different default values. Currently this is only used for the flag that decides if the chart title is deleted but more cases might be fixed in the future.


About Markus Mohrhard

Hacking at Libreoffice calc
This entry was posted in Uncategorized. Bookmark the permalink.

4 Responses to Supporting more OOXML dialects in chart import

  1. Looking over your second patch, wouldnt it be useful to also have code to identify whether the document was created with MSO 2010 and 2013. MSO 2010 uses version 14 and MSO 2013 uses version 15.

  2. O says:

    Markus, is the “not specified version [of OOXML] written by MSO 2007” that specified under ECMA-376, 1st Edition, or are there other differences?

  3. Rob says:

    Markus, so are there 4 dialects of OOXML out there in the wild?
    OOXML strict ISO (no office suit uses this as a default)
    OOXML transitional ISO (not intended for new documents after Office 2007 according to Microsoft and ISO)
    OOXML MSO 2007 (has some different defaults that cause problems)
    OOXML Ecma 376 1st edition (date issue)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s