We can't live with it.
Microsoft posted the XML based to ECMA and later on to ISO to get it approved as an international standard for documents. But the purpose is to rubber stamp Microsoft Office.
Listen to this: Microsoft made a mistake back in the nineteenhundred-and-nineties. It was just a small bug, but it still lives in Microsoft Office. Thats a long time ago, but Microsoft is guaranteeing backward compatibility with old documents.
So that bug is implemented in the International standard OOXML as a feature. So, if you want to create a document based on this standard document format, you have to know about a bug in Microsoft Office and implement that in your application. How come ? Because Microsoft says so. Backward compatibility (with old bugs) are more important than building a robust document format.
What is that bug then ?
Well, it's not one bug, but several bugs in Excel spreadsheet.
One of them is that Microsoft has a function called 'workdays'. The purpose is to calculate the number of days between two dates, except for weekends. Microsoft assumed that all people in the whole world has the same good as the Americans and that we all keep the same weekdays off ( http://www.dis29500.org/gr-113 ).
This was back in the nineties. That must be gone now. No. Microsoft says:
We agree that the implementation of WORKDAY makes assumptions as to which days of the week are weekdays versus weekends. In order to maintain backwards compatibility with the corpus of existing documents, no semantic change will be made to the function. A spreadsheet application could create a new function which would allow for specification of which days of the week are workdays.
First of all, I consider this very disrespectful to all people who doesn't share religion with the developers in Redmond. And second, note the last paragraph: It's up to you to correct a Microsoft bug in your application.
04 December 2007