OOXML: Strict to Transitional - Asbjoedt/CLISC GitHub Wiki
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"