Support OOXML strict export

    From The Document Foundation Wiki


    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