Skip to content

OOXML: Strict to Transitional

Asbjørn Skødt edited this page Jul 30, 2022 · 7 revisions

Essentially a Strict .xlsx is identical to a Transitional .xlsx in terms of the content it can store and validate, but a few namespaces and the conformance class attribute are different. However, the same is not true when converting from .xlsx Transitional to .xlsx Strict, because Transitional conformance allows legacy code from file formats .xls and .xlt to maintain compatibility with Excel.

XML changes

To convert a .xlsx saved in Strict conformance to .xlsx in Transitional conformance, the following changes to the spreadsheet's XML are necessary. To reach the spreadsheet's XML code, rename the file with suffix ".zip" and then unzip the folder. Commit the following changes to the XML code of a Strict .xlsx spreadsheet to change from Strict to Transitional conformance.

Namespaces

In [Content_Types].xml and any file in folder xl and xl/worksheets:

Replace "http://purl.oclc.org/ooxml/spreadsheetml/main" with "http://schemas.openxmlformats.org/spreadsheetml/2006/main"

In workbook.xml and files in the folder _rels and xl/rels:

Replace "http://purl.oclc.org/ooxml/officeDocument/relationships" with "http://schemas.openxmlformats.org/officeDocument/2006/relationships"

In folder _rels, xl/rels and any relationship folders e.g. externalLinks, relationships are mapped in .rels files and in these files, the above namespaces will have suffixed paths after /relationships e.g. /relationships/externalLinkPath. Keep the suffixed paths and merge them with the above namespace.

In any file in folder /xl/theme e.g. theme1.xml:

Replace "http://purl.oclc.org/ooxml/drawingml/main" with "http://schemas.openxmlformats.org/drawingml/2006/main"

Workbook conformance class

In workbook.xml before tag <fileVersion:

conformance="strict">

Replace "strict" with "transitional"

conformance="strict" could be deleted alltogether since no appearance of conformance class means by default the spreadsheet is transitional, but I prefer to have it explicit.

urn:schemas

Any file in folder xl/worksheets e.g. sheet1.xml:

Delete xmlns:v="urn:schemas-microsoft-com:vml"

Clone this wiki locally