Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | XLSX Strict, (Office Open XML, Spreadsheet ML) ISO 29500:2008-2016, also ECMA-376, Editions 2-5. |
---|---|
Description |
The Strict variant of XLSX disallows a variety of elements and attributes that are permitted in the more common Transitional variant (XLSX/OOXML_2012). The markup for the Strict variant is essentially a subset of markup for the Transitional variant, but the schemas use different namespaces and are distributed separately in complete form. The Strict variant of XLSX described here was introduced during the standardization in ISO/IEC 29500 in 2008 with the intention of excluding features included in ECMA-376, Edition 1 that were present simply to handle bugs and features of earlier spreadsheet applications. The intent of the split of the markup specification into Strict (Part 1) and Transitional (Part 4) was that applications would create new documents in the Strict variant; however, in practice, pressure for backwards compatibility has meant that most new files are marked up by applications using the Transitional namespace even if they use no features that are incompatible with the Strict specification. Among the key differences between the Strict variant and the Transitional variant are:
For discussion of other aspects of the Strict XLSX format, see the description of the more common Transitional variant of XLSX, XLSX/OOXML_2012. |
Production phase | Can be used in any production phase: for creating documents (initial state): for editing and review (middle-state); and for final distribution. |
Relationship to other formats | |
Subtype of | OOXML_Family, OOXML Format Family -- ISO/IEC 29500 and ECMA 376 |
Subtype of | OPC/OOXML_2012, Open Packaging Conventions (Office Open XML), ISO 29500-2:2008-2012 |
May contain | MCE/OOXML_2012, Markup Compatibility and Extensibility (Office Open XML), ISO 29500-3:2008-2015, ECMA-376, Editions 1-4 |
Modification of | XLSX/OOXML_2012, XLSX Transitional (Office Open XML), ISO 29500:2008-2016. The Transitional variant of XLSX allows legacy markup as specified in Part 4 of ISO/IEC 29500. Hence the Transitional variant has more support for backwards compatibility when converting documents from older formats. |
Defined via | XML, Extensible Markup Language (XML) |
LC experience or existing holdings | See the more common Transitional XLSX/OOXML_2012. |
---|---|
LC preference | For works acquired for its collections, the list of Library of Congress Recommended Formats Statement for Datasets/Databases, includes XLSX (.xlsx) as a preferred format for datasets. It does not distinguish between the Strict and the more common Transitional XLSX/OOXML_2012 form in its preferences. |
Disclosure | International open standard. Maintained by ISO/IEC JTC1 SC34/WG4. Originated by Microsoft Corporation and first standardized through ECMA International in 2006. Approval as ISO/IEC 29500 was in 2008. |
---|---|
Documentation |
ISO/IEC 29500-1, Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 1: Fundamentals and Markup Language Reference. Latest version (dated 2016 as of February 2017) is available from ISO/IEC Publicly Available Standards. All editions of the OOXML standards as published by ECMA are available from ECMA-376: Office Open XML File Formats. See Notes below for version chronology. |
Adoption |
The Strict variant of XLSX does not appear to be widely widely used as of February 2017, although support has been added to several applications in recent years. The ability to read Strict XLSX files was first implemented by Microsoft in Excel 2010; in Windows Office, the ability to write Strict files as an option was added in Excel 2013 and is available in Excel 2016 and Office 365. Office for Mac 2011 could neither read nor write Strict files. The original release of Office for Mac 2016 could read but not write Strict files; more recent versions of Office for Mac have a setting to always use the Strict variant for saving XLSX files. Feature Comparison Versions of LibreOffice since 4.2.3 can read Strict XLSX files. The Feature Comparison provided by LibreOffice for version 5.3 (released in early 2017) indicated that Strict XLSX files could be read but not written. The existence in 2017 of Support OOXML strict export as a project on a to-do list for LibreOffice suggested that this capability might be introduced before long. However, in December 2020, the Feature Comparison still indicated that Libre Office (version 7.0) could not write Strict XLSX files. A test using LibreOffice 5.2 confirmed that XLSX files written by that application were always in the more common Transitional form, regardless of which of two .xlsx options is chosen from the dropdown menu in the Save As feature. Two options were presented in LibreOffice because of a few small differences found in some files produced by Microsoft Office, particularly by Office 2007. See Useful References below. Whether the Strict version of XLSX is more widely used in the future will likely depend on whether pressure on software vendors from governments for its adoption outweighs market pressure, which currently seems to favor backwards compatibility. The compilers of this resource are not aware of any spreadsheet applications other than Microsoft products that can create the Strict variant of XLSX (as defined in Part 1 of the ISO/IEC 29500 standard). Tests in February 2017 indicated that Google Sheets and Libre Office (version 5.2) both created new documents in the Transitional variant, as indicated by the namespace declarations, even when the document includes no elements or attributes not present in the Strict versions of the schemas. This corresponds to the default behavior of Microsoft products. |
Licensing and patents |
See the more common Transitional form of XLSX, XLSX/OOXML_2012 and OOXML Format Family. |
Transparency |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. |
Self-documentation |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. Accessibility Features See OOXML Format Family for web accessibility information. |
External dependencies |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. |
Technical protection considerations |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. |
Text | |
---|---|
Normal rendering |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. |
Dataset | |
Normal functionality |
See the more common Transitional form of XLSX, XLSX/OOXML_2012. |
Tag | Value | Note |
---|---|---|
Filename extension | xlsx |
|
Internet Media Type | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
From IANA registration. |
XML namespace declaration | http://purl.oclc.org/ooxml/spreadsheetml/main |
This namespace declaration is for the Strict variant of XLSX. It occurs in the mandatory Main Document part of a XLSX file (package), which usually has the name /xl/workbook.xml. The use of /xl/workbook.xml as the name of the main part is conventional, rather than mandated in ISO 29500. |
Other | Target="xl/workbook.xml" |
This signifier assumes the usual name of the main part of an XLSX file. The target declaration will occur in the top-level Relationships part (\_rels\.rels part in an OPC package of a Strict XLSX file, as an attribute of a <Relationship> element within the Relationships element. It will be the target of a relationship of type http://purl.oclc.org/ooxml/officeDocument/relationships/officeDocument. See root namespace and source relationship for Main Document Part in ISO/IEC 29500-1:2012, §12.3.23. |
Other | NF00311 |
See NARA File Format Preservation Plan ID https://www.archives.gov/files/lod/dpframework/id/NF00311.ttl for Microsoft Word for Windows 2007-onwards (OOXML). Note that NARA does not specify versions. |
Pronom PUID | fmt/214 |
See http://www.nationalarchives.gov.uk/PRONOM/fmt/214. As of December 2020, PRONOM does not distinguish between Strict and Transitional versions of XLSX. |
Wikidata Title ID | Q26207821 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2012. See https://www.wikidata.org/wiki/Q26207821 |
Wikidata Title ID | Q26207792 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2011. See https://www.wikidata.org/wiki/Q26207792 |
Wikidata Title ID | Q26207712 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2008. See https://www.wikidata.org/wiki/Q26207712 |
Wikidata Title ID | Q26211536 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2012, with Microsoft extensions. See https://www.wikidata.org/wiki/Q26211536 |
Wikidata Title ID | Q26211510 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2011, with Microsoft extensions. See https://www.wikidata.org/wiki/Q26211510 |
Wikidata Title ID | Q26208253 |
Office Open XML Spreadsheet Document, Strict, ISO/IEC 29500:2008, with Microsoft extensions. See https://www.wikidata.org/wiki/Q26208253 |
General |
Textual and serial numeric representations of dates and times: In the Strict variant of XLSX, dates may be stored using textual forms specified in the ISO 8601 standard. Late in the ISO standardization process for OOXML, a proposal was made to adopt the ISO 8601 format for dates and times in spreadsheets. Dates and times in spreadsheets have usually been stored as numbers (sometimes termed "serial date-time" values), which use less space in memory or files, are convenient for common date-based calculations, and easily presented in a user-specified display format (following local conventions and using different scripts). The experts present at the ISO 29500 Ballot Resolution Meeting where votes were held on the outstanding proposals for the OOXML format were primarily experts in XML and in textual documents rather than with spreadsheets (see Why do we need serial dates in the Transitional form of IS 29500?, a 2009 blog post). The details of the proposal as approved had several shortcomings, recognized by spreadsheet experts once ISO 29500:2008 was published and software developers began to build tools. Firstly, no existing applications would be able to recognize and handle dates in the ISO 8601 format if they were included in XLSX Transitional files, as permitted by the published standard. See, for example, Losing data the silent way - ISO8601-dates. Since the intent of the Transitional variant of ISO 29500 was to be compatible with the existing corpus of .xlsx documents and the applications designed to handle them, an amendment to Part 4 to disallow ISO 8601 dates in the Transitional variant was introduced. Secondly, ISO 8601 is a very flexible format, and any use in a context that aims at interoperability needs to be specific about which particular textual string patterns are expected for dates and times. An amendment to specify particular string patterns for use in XLSX Strict, selected from the variety allowed by ISO 8601, was introduced as an amendment to Part 1. The associated amendments to Parts 1 and 4 were approved in December 2011 and incorporated into ISO 29500:2012. The changes were almost entirely in the text of the standard, with minimal changes to the schemas for SpreadsheetML, apart from disallowing the date cell-type in XLSX Transitional. The compilers of this resource are not aware of any SpreadsheetML implementations that would have generated XLSX Transitional files with dates in the ISO 8601 textual form that is no longer compliant with ISO 29500-4. Comments welcome. The Strict variant of XLSX can contain dates in a textual form, using the Complete, Extended Format of ISO 8601, as specified in subclause 18.17.4 Dates and Times of ISO/IEC 29500-1:2011-2016. However, operations such as determining the number of years, days, minutes, or seconds between two date/time values, will usually be done using "serial date-time values," i.e., numbers that represent days relative to a base date. For this reason, the use of serial date-time values has been common in spreadsheets and other applications where dates are used as the basis for computation. Subclauses 18.17.4.1-3 of ISO/IEC 29500-1 discuss conversion between the two representations for dates. See also the more common Transitional form of XLSX, XLSX/OOXML_2012. |
---|---|
History |
For chronologies of the OOXML standard and for versions of Microsoft Office, see OOXML_Family. See also the more common Transitional form of XLSX, XLSX/OOXML_2012. |
See also references listed for the more common Transitional form of XLSX, XLSX/OOXML_2012.
|