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 which can be validated, 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 compatibility with legacy Excel file formats. Read how to convert from Transitional to Strict <- in this article.

XML changes

To convert a .xlsx spreadsheet 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 folders 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