Office Open XML
Office Open XML (OOXML) is an XML based file format that has been published as ISO 29500 and ECMA-376. It is used as default file format by Microsoft Office since 2007.
A new import filter is currently (as of May 2014) in development. Its design and implementation is described on this page. The legacy importer and exporter is described here.
Status
The new OOXML import framework is currently in the design stage. Development is about to begin.
Progress/Todo:
What | Who | Status |
---|---|---|
Create new main/ooxml/ module and setup initial build files | Andre | In progress |
Specifications | ||
|
||
|
||
|
||
|
Andre | |
DSL parser | ||
|
||
|
||
Implement OOXML parser generator | ||
Migrate existing PresentationML import |
File Format
The file format is described by several documents:
- Specifications:
- ISO 29500:2012 (http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=61750)
- ISO 29500:2008
- ECMA-376 (http://www.ecma-international.org/publications/standards/Ecma-376.htm)
- (ECMA) TC-45 (http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm)
- Microsoft Extensions (Overview):
There are three main markup languages (MLs) for the three main applications:
- WordprocessingML
- SpreadsheetML
- PresentationML
Markup languages that are shared by all applications are
- DrawingML
- VML (for legacy files)
OOXML files are, similar to ODF files, ZIP containers with one entry per XML stream. OOXML calls these entries parts.
Framework
A new framework for the import of OOXML documents is designed to make the import code based on this framework easy to read and easy to develop. In a compile time pre-processing step the OOXML schema files are read and turned into the OOXML parser skeleton. A domain specific language (DSL) can then be used to provide the implementation for specific elements (complex types) of the OOXML format.
Details can be found on the OOXML Framework page.