I consider this project obsolete as I am awaiting a Microsoft API
Open XML Objects provides an object oriented framework for working with various Open XML documents. It shields you from the underlying XML and zip structures, allowing easy and intuitive document generation and manipulation. The initial goal for this project
is to provide all actions described in the "Building Documents with CodeSnippets" article series on
inside the framework. If you are interested in automating repeditive document related actions, join our team, and help decide the future of this project!
I am waiting for input of Microsoft regarding versioning Open XML documents. The architecture will in part be dependant on the outcome. So little development this week...
With the 1.4 release of the ECMA draft the compatibility issue rises. I've decided to keep working with the 1.3 release of the draft, because there are various 1.4 features which are unsupported by the Office beta 2 I am using. I'll update the code
with the next beta cycle, if there will be one.
- Open and create Open XML documents
- Walk through document contents
- Modify document contents
- Import contents from other documents
- partial WordProcessingML support (the rest will follow)
The current version provides major parts of the base framework. A small part of the WordProcessingML language wrapper is implemented as well, on top of this framework of course. SpreadsheetML and PresentationML are not available yet, chip in to get those going
The main work now consists of building a framework for handling the correct insertion of nodes into the document. Because sequences are used as the content specifier of most nodes, the code will need to insert elements into the correct location. I want to build
a framework which reads the xml-schemas to retrieve this info. The pragmatic programmer says, DRY! Don't Repeat Yourself.
You can find some samples of how to work with Open XML Objects on the
page. There is no release just yet, so you can download the source from the 'source code' page.