Browse by Tags

Over the last couple of months I have had the opportunity to work on an exciting project called TextGlow . TextGlow is a Silverlight 2.0 application for viewing Word 2007 documents on the Internet. With TextGlow it is possible to instantly view a document within a web page, with no Microsoft Office applications installed. Since Silverlight is cross platform the user doesn't even have to be running...

The biggest challenge I encountered when writing an object model for OOXML documents was handling inheritance. WordprocessingML has a relatively complex inheritance hierarchy (illustrated for the most part in the diagram below) and it was a struggle to come up with a solution that would be both quick to implement for every property across the entire model, and yet be flexible enough to handle every...

In a previous blog post I showed how to efficiently iterate over a WordprocessingML ’s document content when creating an object model. One of the interesting quirks of WordprocessingML is that the content of sections (a section defines information like page size and orientation), instead of being nested inside a section element, are determined by a marker section element in the final paragraph of the...

I have been parsing WordprocessingML OOXML over the past week using LINQ to XML and it has been a great learning experience. LINQ to XML is a clean break from the somewhat antiquated DOM that we all know and tolerate, and the new API provides many improvements over the DOM based XmlDocument. Probably the most talked about change is the functional approach that LINQ to XML encourages. Building a document...

It can be hard knowing where to get started when working with a new technology. I have recently commenced work on a project heavily involving OOXML and I thought I’d share the websites and resources I found most useful to other people just starting out. Open XML Developer - http://openxmldeveloper.org/ Open XML Developer is the best all-in-one OOXML site on the web. It features OOXML news, articles... More Posts « Previous page