Genii Weblog

The new Office Open XML SDK - Underwhelming

Tue 5 Jun 2007, 04:55 PM



by Ben Langhinrichs
At TechEd, Microsoft announced the availability of an Office Open XML (OOXML) SDK.  Exciting stuff, it would seem, until you delve even a bit into the details.  Instead of letting you add a page, or insert a graphic or add text or do pretty much anything you would want to do with an office document, spreadsheet or presentation, this SDK lets you work with the components of the OOXML package.  In other words, it lets you add a graphic to the package, but not show it.  It lets you add a new spreadsheet page, if you already hand coded the XML to the OOXML specs.  And so on.  Of course, you wouldn't think it would take much to accomplish that level of functionality, but... you would be wrong.  Below is a small version of the Office Open XML Object Model Diagram (click on the diagram to get the full version on Microsoft's site), but small only visually.  It seems like a lot of work for a little bang to me:

Office Open XML Object Model Diagram


Copyright © 2007 Genii Software Ltd.

What has been said:


598.1. Nathan T. Freeman
(06/06/2007 08:00 AM)

Why does an XML spec need an SDK? You need an XML parser, period, full stop.

If it really is an open spec anyway. :-)


598.2. Ben Langhinrichs
(06/06/2007 08:24 AM)

The difficulty with you, Nathan, is ever knowing whether you are kidding or not. Unfortunately, there are people who completely agree with that sentiment. In my mind, of course, I think you should be able to add a table with a simple AppendTable method, or add a graphic with a simple AppendGraphic method, or sort a table with a SortByRow method, or define a chunk as a range of spreadsheet cells and then act on them, and so on and so on. You shouldn't have to read a spec, not even the relatively shorter ODF spec, much less the 6000+ page OOXML spec, to be able to write the correct XML to create a hyperlink or add a bullet point to a presentation.

Sign! I know, you are just yanking my chain. I'll give up now.