Support OOXML strict export

From The Document Foundation Wiki
Jump to: navigation, search

Support OOXML strict export

Difference between OOXML transitional and OOXML strict

OOXML transitional allows some additional features that have been removed from OOXML strict. The features that are only part of OOXML transitional are mentioned in Part 4 of the spec.

The other difference are the namespaces: As an example Part 1 §12.3.24, which contains the namespace URL and the relationship for a worksheet, mentions http://purl.oclc.org/ooxml/spreadsheetml/main respectively http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet whereas the OOXML transitional one specified in Part 4 §10.1.24 specifies http://schemas.openxmlformats.org/spreadsheetml/2006/main and http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet.

Code pointers

A good starting point for the namespace work is the CreateOutputStream method

References

OOXML spec Part 1

OOXML spec Part 4

Work Items

  • Introduce mode for OOXML strict export
  • Go through Part 4 and put all transitional features inside of a conditional
  • Replace string based fragment URL and namespace URLs with an enum based system