Sustainability of Digital Formats
 Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

XLSX Strict (Office Open XML), ISO 29500:2008-2012

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name XLSX Strict, (Office Open XML, Spreadsheet ML) ISO 29500:2008-2012, also ECMA-376, Editions 2-4.
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:

  • Use of VML (Vector Markup Language) for graphics is not permitted in XLSX Strict. All graphics, for example in charts, are represented using DrawingML.
  • Characters in XLSX Strict are based on UNICODE. Other character sets and codepage technologies are not permitted.
  • To comply with XLSX Strict, elements and attributes with deprecated names that use "left" and "right" in relation to start and end of text must be replaced by substitutes that are neutral in relation to the direction of text.
  • Legacy techniques for protecting workbooks and their contents are disallowed in XLSX Strict.
  • XLSX Strict has a value type for cells of date, using the Complete, Extended Format Calendar representations in ISO 8601. For reasons of backwards compatibility, this typed use of ISO 8601 dates is not permitted in XLSX Transitional. See Notes below.
  • XLSX Strict does not permit the use of representations for drawing elements and attributes where percentages used to specify scaling and positioning are represented as integers outside the range 0-100. This technique was formerly used for performance reasons.

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 (ISO/IEC 29500) Format Family
    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-2012, ECMA-376, Editions 1-4
    Modification of XLSX/OOXML_2012, XLSX Transitional (Office Open XML), ISO 29500-1: 2008-2012. 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)

Local use Explanation of format description terms

LC experience or existing holdings In 2014, the Library of Congress is not aware of any documents in the Strict form of XLSX in its collections. Staff do not use a version of Excel that can produce spreadsheets in the XLSX Strict variant.
LC preference For works acquired for its collections, the list of Library of Congress Recommended Format Specifications for Datasets/Databases, as of June 2014, 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.

Sustainability factors Explanation of format description terms

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 2012 as of August 2014) 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 is not widely used or supported as of September 2014. The ability to read Strict DOCX files was implemented in Microsoft's Excel 2010; Excel 2013 added the ability to write Strict files as an option. Office 365 (a cloud-based product) can also read and write Strict files. As of September 2014, the latest version of Excel for a desktop Mac (in Office for Mac 2011) can neither write nor read Strict files.

Versions of LibreOffice since 4.2.3 can read Strict XLSX files. A test using LibreOffice 4.3 suggests that XLSX files written by that application are always in the more common Transitional form.

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 Excel 2013 (or equivalent Excel Online or Excel App) that can create the Strict variant of XLSX (as defined in Part 1 of the ISO/IEC 29500 standard). Tests in November 2014 indicated that Google Sheets and Libre Office 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 Excel 2013.

Comments welcome.

    Licensing and patents

See the more common Transitional form of XLSX, XLSX/OOXML_2012.

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.

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.


Quality and functionality factors Explanation of format description terms

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.


File type signifiers Explanation of format description terms

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.

Notes Explanation of format description terms

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.

See also the more common Transitional form of XLSX, XLSX/OOXML_2012.

History

See the more common Transitional form of XLSX, XLSX/OOXML_2012.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: Thursday, 15-Jan-2015 20:43:48 EST