Office Open XML: Difference between revisions

Content deleted Content added
Criticism: A rebuttal is not a ref, as a second ref it would be good.
m Reverted edit by 193.117.140.85 (talk) to last version by Neko-chan
 
Line 1:
{{Short description|Family of document file formats}}
'''Office Open XML''' (commonly abbreviated as '''OOXML''') is a file format specification for the storage of electronic documents such as memos, presentations, and spreadsheets. The specification was developed by [[Microsoft]] for its [[Microsoft Office]] product suite and was standardized by [[Ecma International]] as '''Ecma 376''' in December 2006.<ref name="pr_tc45_dec2006">{{cite press release
{{Redirect|docx}}
| url=http://www.ecma-international.org/news/PressReleases/PR_TC45_Dec2006.htm
{{Distinguish|OpenDocument|Open Office XML|Microsoft Office XML formats}}
| title=Ecma International approves Office Open XML standard
{{stack|
| date=[[December 7]] [[2006]]
{{Office Open XML}}
| accessdate=2006-12-08
{{Infobox file format
| publisher=[[Ecma International]]
| name = Office Open XML Document
}}</ref>
| icon = .docx icon.svg
| iconcaption = The OOXML Document icon, as appears on the [[Microsoft OneDrive]] web service
| screenshot =
| caption =
| extension = .docx, .docm
| mime = application/vnd.<br />openxmlformats-officedocument.<br />wordprocessingml.<br />document<ref name="mimetype">{{cite web | url = https://www.iana.org/assignments/media-types/application/vnd.openxmlformats-officedocument.wordprocessingml.document | title = application/vnd.openxmlformats-officedocument.wordprocessingml.document | publisher = [[IANA]] | access-date = 2024-11-03 | date=2011-02-25 | website = www.iana.org }}</ref>
| type code =
| uniform type =
| magic =
| owner = [[Microsoft]], [[Ecma International|Ecma]], [[International Organization for Standardization|ISO]], [[International Electrotechnical Commission|IEC]]
| released = {{Start date and age|2006|12|07|df=yes}}
| latest release version = 4th edition
| latest release date = {{Start date and age|2016|10|26|df=yes}}
| genre = [[Document file format]]
| container for =
| contained by =
| extended from = [[XML]], [[DOC (computing)|DOC]], [[Microsoft Office XML formats|WordProcessingML]]
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [https://www.ecma-international.org/publications-and-standards/standards/ecma-376 ECMA-376], [https://www.iso.org/standard/71691.html ISO/IEC 29500-1:2016]
| open = Yes<ref name="ExckertEtZiesing2009">{{cite web
| url=http://regmedia.co.uk/2009/08/20/fokus_odf_ooxml_report.pdf
| title=Document Interoperability: Open Document Format and Office Open XML
|author1=Klaus-Peter Eckert |author2=Jan Henrik Ziesing |author3=Ucheoma Ishionwu | page=90
| publisher=Fraunhofer Verlag}}</ref>
}}
{{Infobox file format
| name = Office Open XML Presentation
| icon = .pptx icon.svg
| logo =
| screenshot =
| caption =
| extension = .pptx, .pptm
| mime = application/vnd.<br />openxmlformats-officedocument.<br />presentationml.<br />presentation <ref> {{cite web | url = https://www.iana.org/assignments/media-types/application/vnd.openxmlformats-officedocument.presentationml.presentation | title = application/vnd.openxmlformats-officedocument.presentationml.presentation | publisher = [[IANA]] | access-date = 2024-11-03 | date=2011-03-14 | website = www.iana.org }} </ref>
| type code =
| uniform type =
| magic =
| owner = [[Microsoft]], [[Ecma International|Ecma]], [[International Organization for Standardization|ISO]], [[International Electrotechnical Commission|IEC]]
| released = {{Start date and age|2006|12|07|df=yes}}
| latest release version = 3rd edition
| latest release date = {{Start date and age|2011|06|29|df=yes}}
| genre = [[Presentation]]
| container for =
| contained by =
| extended from = [[XML]], [[Microsoft PowerPoint|PPT]]
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [https://www.ecma-international.org/publications-and-standards/standards/ecma-376 ECMA-376], [https://www.iso.org/standard/71691.html ISO/IEC 29500:2016]
| open = Yes
}}
{{Infobox file format
| name = Office Open XML Workbook
| icon = .xlsx icon.svg
| logo =
| screenshot =
| caption =
| extension = .xlsx, .xlsm
| mime = application/vnd.<br />openxmlformats-officedocument.<br />spreadsheetml.<br />sheet<ref> {{cite web | url = https://www.iana.org/assignments/media-types/vnd.openxmlformats-officedocument.spreadsheetml.sheet | title = vnd.openxmlformats-officedocument.spreadsheetml.sheet | publisher = [[IANA]] | access-date = 2024-11-03 | date=2011-03-16 | website = www.iana.org }} </ref>
| type code =
| uniform type =
| magic =
| owner = [[Microsoft]], [[Ecma International|Ecma]], [[International Organization for Standardization|ISO]], [[International Electrotechnical Commission|IEC]]
| released = {{Start date and age|2006|12|07|df=yes}} (as Microsoft Open XML)
| latest release version = 3rd edition
| latest release date = {{Start date and age|2011|06|29|df=yes}}
| genre = [[Spreadsheet]]
| container for =
| contained by =
| extended from = [[XML]], [[Microsoft Excel|XLS]], [[Microsoft Office XML formats|SpreadsheetML]]
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [https://www.ecma-international.org/publications-and-standards/standards/ecma-376 ECMA-376], [https://www.iso.org/standard/71691.html ISO/IEC 29500:2016]
| open = Yes
}}
}}
 
'''Office Open XML''' (also informally known as '''OOXML''')<ref>{{cite web|url=https://wiki.documentfoundation.org/LibreOffice_OOXML|title=The Document Foundation, LibreOffice and OOXML|access-date=2016-03-22|publisher=[[The Document Foundation]]}}</ref> is a [[ZIP (file format)|zipped]], [[XML]]-based [[file format]] developed by [[Microsoft]] for representing [[spreadsheet]]s, [[chart]]s, [[presentation]]s and [[word processing]] documents. [[Ecma International]] standardized the initial version as ECMA-376. [[International Organization for Standardization|ISO]] and [[International Electrotechnical Commission|IEC]] standardized later versions as ISO/IEC 29500.
Office Open XML format uses a [[ZIP (file format)|ZIP container]] for packaging [[XML]] and other data files.<ref name="ecma_tc45_overview_page6">{{cite web
| url=http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf
| title=Office Open XML Overview
| author=Tom Ngo
| pages=6
| format=PDF
| publisher=Ecma International
| date=[[December 11]] [[2006]]
| accessdate=2007-01-23
}}</ref> Microsoft stated that its primary goal was backward compatibility with existing documents and full support of the feature set of [[Microsoft Office]].<ref name="ms_pr_nov05">{{cite press release
| url=http://www.microsoft.com/presspass/features/2005/nov05/11-21Ecma.mspx
| title=Q&A: Microsoft Co-Sponsors Submission of Office Open XML Document Formats to Ecma International for Standardization
| date=[[November 21]] [[2005]]
| accessdate=2007-01-23
| work=Microsoft PressPass
| publisher=Microsoft
}}</ref>
 
[[Microsoft Office 2010]] provides read support for ECMA-376, full support for ISO/IEC 29500 Transitional, and read support for ISO/IEC 29500 Strict.<ref>{{Cite web |url=https://learn.microsoft.com/en-us/previous-versions/office/office-2010/cc179190(v=office.14) |title=Overview of the XML file formats in Office 2010 |website=Office 2010 Resource Kit |publisher=Microsoft |date=5 August 2011}}</ref> [[Microsoft Office 2013]] and later fully support ISO/IEC 29500 Strict,<ref name="Office 2013 File Formats">{{cite web |url=https://learn.microsoft.com/en-us/previous-versions/office/office-2013-resource-kit/cc179191(v=office.15) |title=XML file name extension reference for Office 2013 |website=Office 2013 Resource Kit |publisher=Microsoft |date=26 December 2016 }}</ref> but do not use it as the default file format because of backwards compatibility concerns.<ref name="Office 2016 file formats">{{cite web|url=https://www.loc.gov/preservation/digital/formats/fdd/fdd000401.shtml|title=XLSX Strict (Office Open XML), ISO 29500-1:2008-2016|website=[[Library of Congress]]|access-date=2018-09-09}}</ref>
Office Open XML has been the subject of controversy in the computing industry, with criticism of the document format coming from members of the [[free software movement]], some independent software vendors, industry analysts and Microsoft's competitors [[Sun Microsystems]] and [[IBM]] (most of whom support [[OpenDocument]]).
 
==Background==
==File format and structure==
The Office Open XML file is a [[ZIP (file format)|ZIP]] package containing the individual files that form the basis of the document. As well as XML files the ZIP package can also include embedded (binary) files in formats such as [[PNG]], [[Windows and OS/2 bitmap|BMP]], [[GIF]], [[Windows Metafile|WMF]], and [[Ink Serialized Format|ISF]].
 
In 2000, Microsoft released an initial version of an [[XML]]-based format for Microsoft Excel, which was incorporated in Office XP. In 2002, a new file format for Microsoft Word followed.<ref name="ooxmlhistory">{{cite web|author=Brian Jones|date=2007-01-25|title=History of office XML formats (1998–2006)|url=https://docs.microsoft.com/en-us/archive/blogs/brian_jones/history-of-office-xml-formats-1998-2006|archive-url=|archive-date=|access-date=2020-12-31|website=|publisher=MSDN blogs}}</ref> The Excel and Word formats—known as the [[Microsoft Office XML formats]]—were later incorporated into the 2003 release of Microsoft Office.
===Document markup languages===
 
Microsoft announced in November 2005 that it would co-sponsor standardization of the new version of their XML-based formats through [[Ecma International]] as "Office Open XML".<ref>{{cite web | url = https://news.microsoft.com/2005/11/21/qa-microsoft-co-sponsors-submission-of-office-open-xml-document-formats-to-ecma-international-for-standardization/ | title = Microsoft Co-Sponsors Submission of Office Open XML Document Formats to Ecma International for Standardization | publisher = Microsoft | date = 2005-11-21}}</ref><ref>[https://ssrn.com/abstract=1656616 Casson and Ryan, Open Standards, Open Source Adoption in the Public Sector, and Their Relationship to Microsoft’s Market Dominance]</ref> The presentation was made to Ecma by Microsoft's [[Jean Paoli]] and Isabelle Valet-Harper.<ref>[https://www.cnet.com/news/microsoft-hands-over-office-xml-specs-to-ecma/ Microsoft hands over Office XML specs to Ecma]</ref><ref>{{Cite web |url=http://www.ecma-international.org/activities/Office%20Open%20XML%20Formats/TC45_GA_Dez05.pdf/ |title=Slides presented by the TC45 committee to Ecma International |access-date=2011-06-08 |archive-url=https://web.archive.org/web/20111021022009/http://www.ecma-international.org/activities/Office%20Open%20XML%20Formats/TC45_GA_Dez05.pdf/ |archive-date=2011-10-21 |url-status=dead }}</ref>
Office Open XML is a container format for several specialized XML-based document markup languages, roughly corresponding to individual applications within the Microsoft Office product line:
* '''WordprocessingML''' for [[word processing]] documents
* '''SpreadsheetML''' for [[spreadsheet]]s
* '''PresentationML''' for [[presentation software|presentation]]s
* '''DataDiagramingML''' for technical [[diagram]]s
* '''FormTemplate''' for [[Form_(programming)|electronic forms]]
 
==Standardization process==
=== Container structure ===
{{Main|Standardization of Office Open XML}}
A basic Office Open XML file contains an XML file called ''[Content_Types].xml'' at the root level of the ZIP package, along with three folders: ''_rels'', ''docProps'', and a directory specific for the document type (for example, in a .docx word processing file that would be a ''word'' directory). The ''word'' directory contains the''wordDocument.xml'' file which is the core content of the document.
 
Microsoft submitted initial material to [[Ecma International]] Technical Committee TC45, where it was standardized to become ECMA-376, approved in December 2006.<ref>{{cite web | url = http://www.ecma-international.org/news/PressReleases/PR_TC45_Dec2006.htm | title = Ecma International approves Office Open XML standard | publisher = Ecma International | date = 2006-12-07}}</ref>
; [Content_Types].xml file : This file describes the content of the ZIP package. It also contains a mapping for file extensions and overrides for specific [[Uniform Resource Identifier|URI]]s.
; _rels Folder: The ''_rels'' folders are where one goes to find the relationships for any given part within the package. To find the relationships for a specific part, one looks for the ''_rels'' folder that is a sibling of one's part. If the part has relationships, the ''_rels'' folder will contain a file that has one's original part name with a ''.rels'' appended to it. For example, if the content types part had any relationships, there would be a file called ''[Content_Types.xml.rels]'' inside the ''_rels'' folder.
; _rels/.rel : The root level ''_rels'' folder always contains a part called ''.rels''. This URI (''/_rels/.rels'') and ''/[Content_Types].xml'' are the only two reserved URIs for parts in files that adhere to Office Open XML conventions. This is where the "package relationships" are located. Whenever one opens a file using these conventions, one always starts by going to the ''_rels/.rels'' file. All relationship files are represented with XML. If one opens it in a text editor, one will see a bunch of XML that outlines each relationship for that part. In a minimal word document containing only the basic ''wordDocument.xml'', the top level parts are two [[metadata]] parts, and the ''wordDocument.xml'' part.
; word/wordDocument.xml : This is the main part for any Word document. If one views it in an XML editor, one will see a pretty basic XML file. The body of the word processing document is contained in this part.
 
This standard was then fast-tracked in the [[JTC 1|Joint Technical Committee 1]] of ISO and IEC. After initially [[Office Open XML Intermediate 5 Month Ballot Results|failing to pass]], an amended version of the format received the necessary votes for approval as an ISO/IEC Standard as the result of a [[ISO/IEC JTC 1|JTC 1]] fast-tracking standardization process that concluded in April 2008.<ref name="ISOIECapproval">{{cite web | url = https://www.iso.org/news/2008/04/Ref1123.html | title = ISO/IEC DIS 29500 receives necessary votes for approval as an International Standard | date = 2008-04-02 | publisher = ISO}}</ref> The resulting four-part International Standard (designated ISO/IEC 29500:2008) was published in November 2008<ref>{{cite web | url = http://www.iso.org/iso/pressrelease.htm?refid=Ref1181 | title = Publication of ISO/IEC 29500:2008, Information technology—Office Open XML formats | date = 2008-11-18 | access-date = 2008-11-19 | publisher = ISO | author = ISO/IEC | archive-date = 2009-07-06 | archive-url = https://web.archive.org/web/20090706154539/http://www.iso.org/iso/pressrelease.htm?refid=Ref1181 | url-status = dead }}</ref> and can be downloaded from the [[Information Technology Task Force|ITTF]].<ref>{{cite web | url = https://standards.iso.org/ittf/PubliclyAvailableStandards/index.html | title = Freely Available Standards | publisher = ITTF (ISO/IEC) | date = 2008-11-18 | access-date = 2023-09-26 }}</ref> A technically equivalent set of texts is published by Ecma as ''ECMA-376 Office Open XML File Formats—2nd edition'' (December 2008); they can be downloaded from their website.<ref name="StandardECMA376">{{cite web | url = https://www.ecma-international.org/publications-and-standards/standards/ecma-376/ | title = Standard ECMA-376 | publisher = Ecma-international.org | access-date = 2009-05-19 }}</ref>
===Relationships===
{{inappropriate tone}}
====Relationship files in Office Open XML====
An example relationship file in Office Open XML (for example word/_rels/document.xml.rels)
 
The ISO/IEC standardization of Office Open XML was controversial and embittered,<ref name="infoworld-embittered">{{cite news
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
| last=Kirk
<Relationships xmlns="<nowiki>http://schemas.microsoft.com/package/2005/06/relationships</nowiki>">
| first=Jeremy
<Relationship Id="rId1" Type="<nowiki>http://schemas.microsoft.com/office/2006/relationships/image</nowiki>"
| title=ISO publishes Office Open XML specification
Target="<nowiki>http://en.wikipedia.org//images/wiki-en.png</nowiki>" TargetMode="External" />
| newspaper=[[InfoWorld]]
<Relationship Id="rId2" Type="<nowiki>http://schemas.microsoft.com/office/2006/relationships/hyperlink</nowiki>"
| date=19 November 2008
Target="<nowiki>http://www.wikipedia.org</nowiki>" TargetMode="External" />
| url=https://www.infoworld.com/article/2654142/iso-publishes-office-open-xml-specification.html
</Relationships>
| access-date = 12 June 2010}}</ref> with much discussion both about the specification and about the standardization process.<ref>{{cite web |url=https://arstechnica.com/uncategorized/2008/10/norwegian-standards-body-implodes-over-ooxml-controversy/ |title=Norwegian standards body implodes over OOXML controversy |date=3 October 2008 |publisher=Ars Technica}}</ref> According to ''[[InfoWorld]]'', "OOXML was opposed by many on grounds it was unneeded, as software makers could use [[OpenDocument|OpenDocument Format]] (ODF), a less complicated office software format that was already an international standard."<ref name="infoworld-embittered" /> The same ''InfoWorld'' article reported that [[IBM]] (which supports the [[ODF]] format) threatened to leave standards bodies that it said allow dominant corporations like Microsoft to wield undue influence. The article further says that Microsoft was accused of co-opting the standardization process by leaning on countries to ensure that it got enough votes at the ISO/IEC for Office Open XML to pass, although it does not specify exactly who accused Microsoft.<ref name="infoworld-embittered" />
Relationship files allow navigation of the package without having to open up each part. For example, images that are referenced in a wordDocument can be found in the relationship file by looking for all relationships that are of type <code><nowiki>http://schemas.microsoft.com/office/2006/relationships/image</nowiki></code>. To point to a different image, you just edit the relationship. This is especially useful for external relationships.
 
==Licensing==
====Hyperlink relations====
The following code shows an example of inline markup for a hyperlink:
 
Under the Ecma International code of conduct in patent matters,<ref>{{cite web | url = https://www.ecma-international.org/policies/by-ipr/code-of-conduct-in-patent-matters/ | title = Code of Conduct in Patent Matters | publisher = Ecma International}}</ref> participating and approving member organizations of ECMA are required to make their patent rights available on a [[Reasonable and non-discriminatory licensing|reasonable and non-discriminatory]] (RAND) basis.
<w:hyperlink w:rel="rId2" w:history="1">
 
Holders of patents which concern ISO/IEC International Standards may agree to a standardized license governing the terms under which such patents may be licensed, in accord with the [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]]/[[ITU]] common patent policy.<ref>{{cite web | url = https://isotc.iso.org/livelink/livelink/Open/6344764 | title = ISO/IEC/ITU common patent policy}}</ref>
In this example, the URL is represented by "rId2". The actual URL is located by the corresponding "rId2" item in the accompanying relationships file. Linked images, templates, and other items are referenced in the same way. The locations of referenced items can be updated by simply editing the relationships file.
 
Microsoft, the main contributor to the standard, provided a covenant not to sue<ref>{{cite web | url = https://xml.coverpages.org/ni2006-09-12-a.html | title = Microsoft's Open Specification Promise Eases Web Services Patent Concerns. | date = September 12, 2006 | access-date = 2015-04-18 }}</ref> for its patent licensing. The covenant received a mixed reception, with some like the [[Groklaw]] [[blog]] criticizing it,<ref>{{cite web |url=http://www.groklaw.net/article.php?story=20051202135844482 |title=2 Escape Hatches in MS's Covenant Not to Sue |date=December 4, 2005 |website=[[Groklaw]] |access-date=December 28, 2024 |archive-date=July 24, 2024 |archive-url=https://web.archive.org/web/20240724061306/http://www.groklaw.net/article.php?story=20051202135844482 |url-status=bot: unknown }}</ref> and others such as [[Lawrence Rosen (attorney)|Lawrence Rosen]], (an attorney and lecturer at [[Stanford Law School]]), endorsing it.<ref>{{cite web | url = https://www.zdnet.com/article/top-open-source-lawyer-blesses-new-terms-on-microsofts-xml-file-format/ | title = Top open source lawyer blesses new terms on Microsoft's XML file format | first = David | last = Berlind | date = November 28, 2005 | access-date = 2007-01-27 | publisher = ZDNet }}</ref>
====Embedded or linked media file relations====
Pictures can be embedded or linked in the XML files using a tag:
 
Microsoft has added the format to their ''[[Microsoft Open Specification Promise|Open Specification Promise]]''<ref name="OSP">{{cite web | title = Microsoft Open Specification Promise | url = https://learn.microsoft.com/en-us/openspecs/dev_center/ms-devcentlp/1c24c7c8-28b0-4ce1-a47d-95fe1ff504bc | publisher = Microsoft | date = 2007-02-15 | access-date = 2015-04-18 }}</ref> in which
<v:imagedata w:rel="rId1" o:title="example" />
 
<blockquote>Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation to the extent it conforms to a Covered Specification [...]</blockquote>
This is the reference to the image file. In Office Open XML, all references are done via relationships. For example a wordDocument.xml part has a relationship to the image part. The actual URI is located by the corresponding "rId1" item in the accompanying relationships file. There is a _rels folder in the ZIP package, in the same directory as wordDocument.xml. Inside _rels is a file called wordDocument.xml.rels. In this file there will be a relationship definition that contains a type, an ID and a ___location. The ID is the referenced ID used in the XML document. The type will be a reference schema definition for the media type and the ___location will be an internal ___location within the ZIP package or an external ___location defined with an URL.
 
This is limited to applications which do not deviate from the ISO/IEC 29500:2008 or Ecma-376 standard and to parties that do not "file, maintain or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of such Covered Specification".<ref>{{cite web | url = https://www.ecma-international.org/publications-and-standards/ | title = Ecma formal publications | publisher = Ecma International|quote=Ecma Standards and Technical Reports are made available to all interested persons or organizations, free of charge and licensing restrictions}}</ref><ref>{{cite web | url = http://www.microsoft.com/Interop/osp/default.mspx | title = Microsoft Open Specification Promise | publisher = Microsoft.com}}</ref>
==Standardization==
The Open Specification Promise was included in documents submitted to ISO/IEC in support of the ECMA-376 fast-track submission.<ref name="JTC licensing">{{cite web|url=https://www.jtc1sc34.org/repository/0810c.htm |title=Licensing conditions that Microsoft offers for Office Open XML |publisher=Jtc1sc34.org |date=2006-12-20 |access-date=2009-05-19}}</ref>
Microsoft stated that Office Open XML would be an [[open standard]], and submitted it to the [[Ecma International|Ecma]] standardization process. On the [[2005-12-08]] Ecma created technical committee 45 (TC45); the press release issued by Ecma the following day stated that
Ecma International asserted that, "The OSP enables both open source and commercial software to implement [the specification]".<ref name="ecma-responses-pdf">{{cite web | url = http://www.ecma-international.org/news/TC45_current_work/Ecma%20responses.pdf | title = Microsoft Word&nbsp;— Responses to Comments and Perceived Contradictions.doc | access-date = 2009-09-16}}</ref>
TC45 was formed to "produce a formal standard for office productivity applications that is fully compatible with the Office Open XML Formats, submitted by Microsoft". The proposal was co-sponsored by [[Apple Inc.]], [[Barclays Capital]], [[BP]], the [[British Library]], [[Essilor]], [[Intel]], [[Microsoft]], [[NextPage]], [[Statoil|Statoil ASA]] and [[Toshiba]]
<ref name="tc45_press">{{cite web
| title=The new open standard safeguards the continued use of billions of existing documents
| url=http://www.ecma-international.org/news/PressReleases/PR_TC45_Dez2005.htm
| publisher=Ecma International
| accessdate=2007-01-28
}}</ref>.
 
==Versions==
TC45 was chaired by Mr. J. Paoli (Microsoft) and Mrs. I. Valet-Harper (Microsoft), the Vice chair and secretary were
Mr. A. Farquhar (British Library) and Mr. J. van den Beld (Ecma)<ref>{{cite web
| title= TC45 - Office Open XML Formats
| url=http://www.ecma-international.org/memento/TC45.htm
| publisher=Ecma International
| accessdate=2007-01-28
}}</ref>. The committee included representatives
from [[Apple Computer|Apple]], [[Canon Inc.|Canon]], [[Intel]], [[NextPage]], [[Novell]], [[Pioneer Corporation|Pioneer]], [[Statoil|Statoil ASA]], [[Toshiba]] and [[Library of Congress|The United States Library of Congress]] <ref name="pr_tc45_dec2006" />.
 
The Office Open XML specification exists in several versions.
At the General Assembly meeting on [[2006-12-07]], Ecma International approved Office Open XML as an Ecma standard (Ecma 376).<ref name="pr_tc45_dec2006" /> The General Assembly also approved submitting the standard for adoption under the [[ISO]]/[[International Electrotechnical Commission|IEC]] JTC 1 process.
 
=== ECMA-376 1st edition (2006) ===
As an ISO external Category A liaison, Ecma have submitted Ecma 376 to the ISO Fast Track process, the same process available to National Standard Organisations. To meet the requirements of this process
The ECMA standard is structured in five parts to meet the needs of different audiences.<ref name="StandardECMA376" />
<ref>{{cite web
;
| title=ISO/IEC JTC 1 Directives, 5th Edition, Version 2.0
;Part 1. Fundamentals
| url=http://www.jtc1sc34.org/repository/0725c.htm
:* Vocabulary, notational conventions and abbreviations
| publisher=iso
:* Summary of primary and supporting markup languages
| accessdate=2007-01-28
:* Conformance conditions and interoperability guidelines
}}</ref>
:* Constraints within the Open Packaging Conventions that apply to each document type
Ecma have submitted the documents, "[http://www.jtc1sc34.org/repository/0809c.htm Explanatory report on Office Open XML Standard (Ecma-376) submitted to JTC 1 for fast-track]" and
;
"[http://www.jtc1sc34.org/repository/0810c.htm Licensing conditions that Microsoft offers for Office Open XML]".
;Part 2. Open Packaging Conventions
:* The [[Open Packaging Conventions]] (OPC), for the package model and physical package, is defined and used by various document types in various applications from multiple vendors.
:* It defines core properties, thumbnails, digital signatures, and authorizations & encryption capabilities for parts or all of the contents in the package.
:* XML schemas for the OPC are declared as XML Schema Definitions (XSD) and (non-normatively) using [[RELAX NG]] (ISO/IEC 19757-2)
;
;Part 3. Primer
:* Informative (non-normative) introduction to WordprocessingML, SpreadsheetML, PresentationML, DrawingML, [[Vector Markup Language|VML]] and Shared MLs, providing context and illustrating elements through examples and diagrams
:* Describes the custom XML data-storing facility within a package to support integration with business data
;
;Part 4. Markup Language Reference
:* Contains the reference material for WordprocessingML, SpreadsheetML, PresentationML, DrawingML, Shared MLs and Custom XML Schema, defining every element and attribute including the element hierarchy (parent/child relationships)
:* XML schemas for the markup languages are declared as XSD and (non-normatively) using RELAX NG
:* Defines the custom XML data-storing facility
;
;Part 5. Markup Compatibility and Extensibility
:* Describes extension facilities of OpenXML documents and specifies elements & attributes through which applications can operate across different extensions.
 
Later versions of the ECMA-376 standard are aligned and technically equivalent to the corresponding ISO standard.
The fast track process allows a 30 day review period by national standardizing bodies (NBs), during this period NBs may identify to the JTC 1 Secretariat any perceived contradiction with other JTC 1, ISO or IEC standards. If such a contradiction is alleged, the matter shall be resolved by the ITTF and JTC 1 Secretariat before ballot voting can commence. Within the 30 day review period a collaborative review was organized by [http://www.grokdoc.net/index.php/EOOXML_objections Grokdoc] to supply additional material for the national standardizing body reviews.
<ref name="grokdoc">{{cite web
| title=EOOXML objections
| url=http://www.grokdoc.net/index.php/EOOXML_objections
| publisher=grokdoc
| accessdate=2007-01-02
}}</ref>
The closing date for the 30 day review was [[2007-02-05]], at which point the United Kingdom national standardizing body, the [[British Standards Institution]] (BSI) had issued a contradiction.
<ref name="computeractive">{{cite web
|title=Microsoft standards bid faces failure
|url=http://www.computeractive.co.uk/personal-computer-world/news/2174199/microsoft-standards-bid-faces
|publisher=VNU Business Publications Ltd., 32-34 Broadwick Street, London, W1A 2HG
|accessdate=2007-02-06
}}</ref>
 
=== ISO/IEC 29500:2008 ===
The ISO/IEC standard is structured into four parts:<ref name="StandardIS29500">{{cite web| url=https://www.iso.org/search.html?q=29500&hPP=10&idx=all_en&p=0&hFR%5Bcategory%5D%5B0%5D=standard| title=ISO search for "29500"| publisher=[[International Organization for Standardization]]| date=2009-06-05}}</ref> Parts 1, 2 and 3 are independent standards; for example, Part 2, specifying [[Open Packaging Conventions]], is used by other file formats including [[Open XML Paper Specification|XPS]] and [[Design Web Format]]. Part 4 is to be read as a modification to Part 1, which it requires.
 
A technically equivalent set of texts is also published by Ecma as ECMA-376 2nd edition (2008).
A [http://www.ecma-international.org/publications/standards/Ecma-376.htm full copy of Ecma 376] or a [http://www.ecma-international.org/news/TC45_current_work/TC45-2006-50_final_draft.htm copy in bits] can be downloaded from Ecma international.
 
;
==Licensing==
;Part 1. Fundamentals & Markup Language Reference
The Office Open XML format was initially made available under a free and perpetual license <ref>{{cite web
:Consisting of 5560 pages, this part contains:
| url=http://www.microsoft.com/office/xml/janletter.mspx
:* Conformance definitions
| title=Clarification of License Terms for Office XML Schema
:* Reference material for the XML document markup languages defined by the Standard
| first=Jean
:* XML schemas for the document markup languages declared using [[XML Schema (W3C)|XSD]] and (non-normatively) [[RELAX NG]]
| last=Paoli
:* Defines the foreign markup facilities
| publisher=Microsoft
;
| accessdate=2007-01-23
;Part 2. Open Packaging Conventions
}}</ref>. As there was concern that [[free software|free]] and [[open source software|open source]] software ([[FOSS]]) could not use the format under the proposed license
: Consisting of 129 pages, this part contains:
<ref>{{cite web
:* A description of the Open Packaging Conventions (package model, physical package)
| title=Open XML Incompatible With GPL
:* Core properties, [[thumbnail]]s and [[digital signature]]s
| url=http://www.eweek.com/article2/0,1759,1829728,00.asp
:* XML schemas for the OPC are declared using [[XML Schema (W3C)|XSD]] and (non-normatively) [[RELAX NG]]
| publisher=eweek
;
| accessdate=2007-01-29
;Part 3. Markup Compatibility and Extensibility
}}</ref>,
: Consisting of 40 pages, this part contains:
Microsoft provided a ''covenant not to sue''.<ref>{{cite web
:* A description of ''extensions'': elements & attributes which define mechanisms allowing applications to specify alternative means of negotiating content
| title=Microsoft Covenant Regarding Office 2003 XML Reference Schemas
:* Extensibility rules are expressed using [[Namespace-based Validation Dispatching Language|NVDL]]
| url=http://www.microsoft.com/office/xml/covenant.mspx
;
| publisher=Microsoft
;Part 4. Transitional Migration Features
| accessdate=2006-07-11
: Consisting of 1464 pages, this part contains:
}}</ref>
:* Legacy material such as compatibility settings and the graphics markup language [[Vector Markup Language|VML]]
The covenant received a mixed reception, with some in the FOSS community identifying problems
:* A list of syntactic differences between this text and ECMA-376 1st Edition
<ref>{{cite web
| url=http://www.groklaw.net/articlebasic.php?story=20051202135844482
| title=2 Escape Hatches in MS's Covenant Not to Sue
| accessdate=2007-01-29
| publisher=Groklaw
}}</ref>and others (such as [[Lawrence Rosen]]) endorsing it.
<ref>{{cite web
| url=http://blogs.zdnet.com/BTL/?p=2192
| title=Top open source lawyer blesses new terms on Microsoft’s XML file format
| first=David
| last=Berlind
| date=[[November 28]] [[2005]]
| accessdate=2007-01-27
| publisher=ZDNet
}}</ref> In support of the licensing arrangements Microsoft commissioned an [http://www.bakernet.com/NR/rdonlyres/CC54A6B6-79E8-4E0D-B290-C836D5F70867/0/OpenXML.pdf analysis] from the London legal firm Baker & Mckenzie. <ref>{{cite web
| url=http://www.bakernet.com/NR/rdonlyres/CC54A6B6-79E8-4E0D-B290-C836D5F70867/0/OpenXML.pdf
| title=Standardisation and Licensing of Microsoft’s Office Open XML Reference Schema
| author=Baker & McKenzie
| publisher= Baker & Mckenzie
| accessdate=2007-02-01
| year=2006
| month=June}}</ref>
 
The standard specifies two levels of document & application conformance, ''strict'' and ''transitional,'' for each of WordprocessingML, PresentationML and SpreadsheetML, and also specifies applications' descriptions of ''base'' and ''full''.
The ''covenant not to sue'' was included in documents submitted to ISO in support of the Ecma 376 fast track submission
<ref>{{cite web
| title=Licensing conditions that Microsoft offers for Office Open XML
| url=http://www.jtc1sc34.org/repository/0810c.htm
| publisher=ISO
| accessdate=2007-01-28
}}</ref>.
 
===Compatibility between versions===
==Adoption==
The intent of the changes from ECMA-376 1st Edition to ISO/IEC 29500:2008 was that a valid ECMA-376 document would also be a valid ISO 29500 Transitional document;<ref>{{cite web| url=http://idippedut.dk/post/2009/06/23/Re-introducing-onoff-values-to-ST-OnOff-in-OOXML-Part-4.aspx| title=Re-introducing on/off-values to ST-OnOff in OOXML Part 4| access-date=2009-09-29| archive-date=2009-06-26| archive-url=https://web.archive.org/web/20090626065627/http://idippedut.dk/post/2009/06/23/Re-introducing-onoff-values-to-ST-OnOff-in-OOXML-Part-4.aspx| url-status=dead}}</ref> however, at least one change introduced at the BRM—refusing to allow further values for xsd:boolean—had the effect of breaking backwards-compatibility for most documents.<ref>{{cite web| url=http://www.adjb.net/post/OOXML-and-Office-2007-Conformance-a-Smoke-Test.aspx| title=OOXML and Office 2007 Conformance: a Smoke Test| access-date=2009-09-29| archive-url=https://web.archive.org/web/20100428091855/http://www.adjb.net/post/OOXML-and-Office-2007-Conformance-a-Smoke-Test.aspx| archive-date=2010-04-28| url-status=dead}}</ref> A fix for this had been suggested to [[ISO/IEC JTC 1/SC 34]]/WG 4, and was approved in June 2009 as a recommendation for the first revision to Office Open XML.<ref>{{cite web| url=http://kikaku.itscj.ipsj.or.jp/sc34/open/1239.pdf| title=Minutes of the Copenhagen Meeting of ISO/IEC JTC1/SC34/WG4| date=2009-06-22| access-date=2009-09-29| archive-url=https://web.archive.org/web/20140512224125/http://kikaku.itscj.ipsj.or.jp/sc34/open/1239.pdf| archive-date=2014-05-12| url-status=dead}} page 15</ref>
 
Applications capable of reading documents compliant to ECMA-376 Edition 1 would regard ISO/IEC 29500-4 Transitional documents containing [[ISO 8601]] dates as corrupt.<ref>{{cite web |url=http://kikaku.itscj.ipsj.or.jp/sc34/wg4/archive/sc34-wg4-2011-0173.zip |format=PDF |title=ISO/IEC 29500-4:2008/Draft Amd2:2011 - Draft - Information technology — Document description and processing languages — Office Open XML File Formats — Part 4: Transitional Migration Features - AMENDMENT 2 |date=2011-03-02 |access-date=2011-04-04 |archive-url=https://web.archive.org/web/20140512232105/http://kikaku.itscj.ipsj.or.jp/sc34/wg4/archive/sc34-wg4-2011-0173.zip |archive-date=2014-05-12 |url-status=dead }}</ref>
Office Open XML is the default [[Microsoft Office 2007|Office 2007]] format if macros are not enabled. Microsoft has also released a compatibility pack for older versions. <ref>http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=941B3470-3AE9-4AEE-8F43-C6BB74CD1466</ref> Using the compatibility pack users can create and edit Office Open XML files from within Office 2000, Office XP and Office 2003. The compatibility pack can also be used as a stand alone converter in combination with Office 97.
 
==Application support==
There is not yet a converter for the Office Open XML format in [[Microsoft Office#Versions for Apple Macintosh OS|Office 2004]] for Mac OS. Microsoft's Mac OS BU developers, advised users of Office 2007 to save their files in the old Office binary format<ref>http://blogs.msdn.com/macmojo/archive/2006/12/05/converters-coming-free-and-fairly-fast.aspx</ref> until a file converter is released.
{{Main|List of software that supports Office Open XML}}
Some older versions of Microsoft Word and Microsoft Office are able to read and write <code>.docx</code> files after installation of the free compatibility pack provided by Microsoft,<ref name="omso">{{cite web|url=https://www.microsoft.com/en-us/download/details.aspx?id=32858|title=Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats (Version 3)|publisher=Microsoft|date=2007-06-18|access-date=2018-06-23}}</ref> although some items, such as equations, are converted into images that cannot be edited.<ref>[http://office.microsoft.com/en-us/word-help/open-a-word-2007-document-in-an-earlier-version-of-word-HA010044473.aspx Open a Word 2007 document in an earlier version of Word - Word - Office.com]. Office.microsoft.com. Retrieved on 2013-07-17.</ref>
 
Starting with [[Microsoft Office 2007]], the Office Open XML file formats have become the default file format<ref name="microsoft.com">{{cite web | url = http://www.microsoft.com/Presspass/press/2008/may08/05-21ExpandedFormatsPR.mspx?rss_fdn=Press%20Releases | title = Microsoft Expands List of Formats Supported in Microsoft Office | publisher = Microsoft | access-date = 2008-05-21 }}</ref> of [[Microsoft Office]].<ref name="courierpress.com">{{cite web | url = http://www.courierpress.com/news/2008/oct/24/microsofts-future-lies-somewhere-beyond-the/ | title = Microsoft's future lies somewhere beyond the Vista by Evansville Courier & Press | publisher = Courierpress.com | access-date = 2009-05-19 | archive-date = 2014-07-10 | archive-url = https://web.archive.org/web/20140710192710/http://www.courierpress.com/news/2008/oct/24/microsofts-future-lies-somewhere-beyond-the/ | url-status = dead }}</ref><ref name="knowledge.wharton.upenn.edu">{{cite web | url = http://knowledge.wharton.upenn.edu/article.cfm?articleid=1795 | title = Rivals Set Their Sights on Microsoft Office: Can They Topple the Giant? - Knowledge@Wharton | publisher = Knowledge.wharton.upenn.edu | access-date = 2009-05-19}}</ref> However, due to the changes introduced in the Office Open XML standard, Office 2007 is not wholly in compliance with ISO/IEC 29500:2008.<ref name="notOOXML">{{cite web | author = Andy Updegrove | url = http://consortiuminfo.org/standardsblog/article.php?story=20080521092930864 | title = Microsoft Office 2007 to Support ODF&nbsp;— and not OOXML | date = 21 May 2008 | publisher = ConsortiumInfo.org | access-date = 2009-05-19 | archive-date = 2008-05-23 | archive-url = https://web.archive.org/web/20080523233233/http://www.consortiuminfo.org/standardsblog/article.php?story=20080521092930864 | url-status = dead }}</ref>
*[[Corel]] has indicated its WordPerfect Office suite will support Office Open XML.<ref>
[[Microsoft Office 2010|Office 2010]] includes support for opening documents of the ISO/IEC 29500:2008-compliant version of Office Open XML, but it can only save documents conforming to the ''transitional'', not the ''strict'', schemas of the specification.<ref name="docx23">{{cite web |url=https://arstechnica.com/microsoft/news/2010/04/iso-ooxml-convener-microsofts-format-heading-for-failure.ars |title=ISO OOXML convener: Microsoft's format "heading for failure" |date=2 April 2010 |publisher=Ars Technica}}</ref><ref name="docx22">{{cite web
{{cite web | url=http://www.corel.com/servlet/Satellite?c=Content_C1&cid=1153321430604&lc=en&pagename=CorelCom%2FLayout&pressId=1164741065876 | title=Corel WordPerfect Office To Support Open Document Format and Microsoft Office Open XML | publisher=corel | accessdate=2007-01-30}}
|url=http://www.adjb.net/post/Microsoft-Fails-the-Standards-Test
</ref>
|title=Microsoft Fails the Standards Test
|work=Where is an end of it?
|last=Brown
|first=Alex
|publisher=Alex Brown's weblog
|date=31 March 2010
|access-date=23 June 2018
}}</ref> Note that the intent of the ISO/IEC is to allow the removal of the transitional variant from the ISO/IEC 29500 standard.<ref name="docx22"/> [[Microsoft Office 2013]] and later fully support ISO/IEC 29500 Strict,<ref name="Office 2013 File Formats"/> but do not use it as the default file format because of backwards compatibility concerns.<ref name="Office 2016 file formats"/>
 
The ability to read and write Office Open XML format is, however, not limited to Microsoft Office; other office products are also able to read & write this format:
*[[Gnumeric]] has limited SpreadsheetML markup languange support.<ref>{{cite web | url=http://www.gnome.org/projects/gnumeric/ | title=GNOME Office / Gnumeric | publisher=GNOME.org | accessdate=2006-07-28}}</ref>
* [[Apache OpenOffice]] is able to import OOXML files, but defaults to the [[OpenDocument]] file format.
* [[Calligra Suite]] is able to import OOXML files, but defaults to the OpenDocument file format.
* [[Collabora Online]] Online, Mobile and Desktop editors are compatible with OOXML, but defaults to the OpenDocument file format.<ref>{{Cite web|last=|first=|date=2 November 2020|title=Collabora Online 6.4.0-released|url=https://www.collaboraoffice.com/press-releases/collabora-online-6-4-0-released/}}</ref>
* [[Google Docs]], is able to read and write OOXML and OpenDocument files.
* [[LibreOffice]] Desktop editors are compatible with OOXML, but defaults to the OpenDocument file format.<ref name=":0">{{cite web|url = http://wiki.documentfoundation.org/LibreOffice_OOXML|title = LibreOffice OOXML|access-date = 22 March 2012}}</ref>
 
Other office products that offer import support to various levels of compatibility include:
*[[Novell]] has announced that they will be offering a Office Open XML plug in for OpenOffice.org, that the plug in will be released as open source software and that they will submit it for inclusion into the OpenOffice.org project. <ref>{{cite web | url=http://www.novell.com/news/press/item.jsp?id=1248
* [[Abiword]] is able to read and write OOXML and OpenDocument files.
| title=Novell Boosts OpenOffice.org and Microsoft Office Interoperability | publisher=Novell | accessdate=2007-01-30 }} </ref>
* [[Gnumeric]] is able to read and write OOXML and OpenDocument files
* [[Go-oo]], discontinued in 2010, could import and save to OOXML, but defaulted to the OpenDocument file format.
* [[iWork]] is able to read and write OOXML and OpenDocument files.
* [[KOffice]], discontinued in 2011, could import and save to OOXML.
* [[NeoOffice]], discontinued in 2024, could import and save to OOXML, but defaulted to the OpenDocument file format.
* [[OnlyOffice]], Online and Desktop editors are compatible with OOXML and OpenDocument files.
* [[SoftMaker FreeOffice]] and [[SoftMaker Office]] are able to read and write OOXML and OpenDocument files (word processor only).
* [[TextEdit]] (included with [[macOS]])
* [[WordPerfect]], is able to read and write OOXML and OpenDocument files.
* [[WPS Office]], is able to read and write OOXML files.
 
== See also ==
*Maarten Balliauw has created a set of [[PHP]] classes to create SpreasheetML markup language documents.<ref> {{cite web | url=http://www.balliauw.be/maarten/blog/24,office-2007-spreadsheetml-classes-in-php.htm
* [[Comparison of document markup languages]]
| title=Office 2007 SpreadsheetML classes in PHP
* [[List of document markup languages]]
| publisher Maarten Balliauw
* [[Microsoft Office password protection]]
| accessdate=2007-02-01 }} </ref>
* [[Standardization of Office Open XML]]
 
*Panergy Ltd. has developed a converter from WordprocessingML markup language to [[Rich Text Format]] (RTF). The converter, called docXConverter, allows Word versions that are not supported by Microsoft's compatibility pack, e.g. Word 97, to open OOXML files containing WordprocessingML markup language. DocXConverter can be used to transfer WordprocessingML data to other applications that read RTF data. <ref>{{cite web | url=http://www.panergy-software.com/products/docxconverter/features.html
| title=docXConverter - Features | publisher=panergy | accessdate=2007-01-31 }} </ref>
 
*Wouter van Vugt has developed a package explorer that allows you to edit XML parts and validate parts against the Ecma schemas. <ref>{{cite web | url= http://blogs.infosupport.com/wouterv/archive/2006/12/10/Package-Explorer-V2.0.aspx
| title=Package Explorer V2.0 | publisher= Wouter van Vugt | accessdate=2007-01-31 }} </ref>
 
==Criticism==
 
{{underconstruction}}
 
The Open XML standard has been the subject of wide and varied controversy in the computing industry, particularly from members of the [[free software movement]], independent software vendors,<ref name="isv_complaints">{{cite web
| url=http://www.GeniiSoft.com/showcase.nsf/archive/20061027-0829
| title=Self deprecating standards
| author=Ben Langhinrichs
| pages=1
| format=HTML
| publisher=Genii Software Ltd.
| date=[[October 27]] [[2006]]
| accessdate=2007-02-01
}}</ref>
industry analysts
and Microsoft's competitors [[Sun Microsystems]] and [[IBM]], most of whom favor the [[OpenDocument]] format, which is notably present in the freely available OpenOffice.org application suite.
 
The essential premise behind this criticism, apart from several technical issues, is that Microsoft has standardised its proprietary format in order to prevent the widespread adoption of the Open Document format, which could threaten the dominance of Microsoft's own Office suite. Furthermore, commentators have argued that while competitors will likely implement compatibility of the new standard in their own applications, Microsoft has not released any plans to similarly support the OpenDocument format.<ref
name="analyst_complaints_2">{{cite web
| url=http://lnxwalt.wordpress.com/2007/01/20/whats-wrong-with-choice/| title=Most contrived tech awards
| author=Walt Hucks
| pages=1
| format=HTML
| publisher=Opportunity Knocks
| date=[[January 20]] [[2007]]
| accessdate=2007-02-06
}}</ref> As the world's largest software company, Microsoft believes that its royalty-free format will end persistent incompatibility problems in working environments with diverse software applications due to its underlying foundation of strong industry standards such as XML and ZIP.<ref
name="Microsoft_opinion">{{cite web
| url=http://office.microsoft.com/en-us/products/HA102058151033.aspx
| author=Microsoft
| pages=1
| format=HTML
| publisher=Microsoft
| date=[[January 1]] [[2007]]
| accessdate=2007-02-06
}}</ref>
 
'''Voiced criticisms include''':
 
{{inuse}}
 
* The 6000 page specification is too long to evaluate in the 30-day contradiction (only) review and the five-month ballot period.<ref>{{ cite web
|url=http://community.zdnet.co.uk/blog/0,1000000567,10004805o-2000331777b,00.htm
|title=Six thousand pages, one month, no chance...
|accessdate=2007-02-03}}
</ref>
*The format specification references external formats which are not part of the Ecma standard, and therefore not covered by covenant not to sue: For example book 4 section 6.4.3.1 Clipboard format types.<ref>{{cite web
| url=http://www.consortiuminfo.org/standardsblog/article.php?story=20070117145745854
| title=The Contradictory Nature of OOXML
| date=[[January 17]] [[2007]]
| author=Andrew Updegrove
| publisher=The ConsortiumInfo.org
| accessdate=2007-01-23
}}</ref>
*XML names and inconsistent naming conventions inconstant with XML goal, that is human-legible documents.<ref>{{cite web
| url=http://www.w3.org/TR/REC-xml/#sec-origin-goals
| title=Extensible Markup Language (XML) 1.0 (Fourth Edition)
| accessdate=2007-02-04
}}</ref><ref name="grokdoc"/>
*Relies on application-defined behaviors to support important functionality that should be documented or supported via existing standards: For example book 4 section 6.1.2.19 defines the "equationxml" attribute of "shape" elements, "used to rehydrate an equation using the Office Open XML Math syntax" however the "actual format of the contents of this attribute are application-defined".<ref name="grokdoc"/>
* Use of a two-[[byte]] language code instead of the [[ISO 639]] two-letter and three-letter language codes (the [[grokdoc]] article cites book 4 clause 2.18.52, which describes the ST_LangCode simple type which does use hexadecimal values; however all references to languages in the Word document format use the ST_Lang simple type, which is described in book 4 clause 2.18.51, ST_Lang simple type allows the use of ISO 639).<ref>{{cite web
| url=http://blogs.infosupport.com/wouterv/archive/2007/01/27/Doug-is-Evil.aspx
| title=Doug is Evil
| author=Wouter van Vugt
| publisher=Info Support Blog Community
| date=2007-01-27
| accessdate=2007-02-02 }}</ref>
 
* [http://www.decimaltime.hynes.net/computers.html A date format] which is not in [[ISO 8601]] is used in spreadsheet cells, the format incorrectly treats [[1900]] as a [[leap year]]; this continues a problem introduced by the once dominant spreadsheet package [[Lotus 1-2-3]].<ref>{{cite web|
first=Joel|last=Spolsky|
authorlink=Joel Spolsky|
date=2006-06-16|
title=My First BillG Review|
work=Joel on Software|
url=http://www.joelonsoftware.com/items/2006/06/16.html|
accessdate=2007-01-31}}</ref>
* Use of DrawingML and VML instead of [[SVG]], and of a new mathematical format instead of [[MathML]]. MathML and SVG are W3C standards.
*Internal inconsistencies and omissions: For example book 4 section 2.18.4 lists numerous styles such as apples, scaredCat, heebieJeebies, etc. however the specification does not fully define these styles (e.g missing height, width, color-depth, orientation).<ref name="grokdoc"/>
*Inconsistent notations for percentage units: book 4 Section 2.18.85 uses predefined symbols (like "pct15" for 15%) in 5 or 2.5 percent increments, book 4 section 2.15.1.95 uses a decimal number giving the percentage, book 4 section 2.18.97 uses a number in 50ths of a percent, book 4 section 5.1.12.41 uses a number in 1000ths of a percent.<ref name="grokdoc"/>
*Inappropriate application settings: For example book 4 section 2.15.3.16 "doNotLeaveBackslashAlone" is an application setting, not a document setting.<ref name="grokdoc"/>
*Non-XML formatting codes: For example book 4 section 2.16.5.79 "XE" (full name not defined) defines 'b', 'i' as bold and italic, which is contrary to XML and CSS. Similarly book 4 section 2.16.5.76–2.16.5.78 define "\* Caps", "\* FirstCap", "\* Lower", and "\* Upper" to format the capitalization of preceding text.<ref name="grokdoc"/>
*Mismatched example description: Book 4 section 2.16.5.77 about the field USERINITIALS presents an example that uses a field name USERNAME where it should use USERINITIALS.<ref name="grokdoc"/>
*Inflexible numbering format: For example book 4 section 2.18.66 describe a numbering format that is fixed to a few countries, that contradicts W3C XSLT and contradicts Unicode ISO 10646.<ref name="grokdoc"/>
*Throughout the spec Microsoft-specifics are used for VML objects: For example book 4 section 6.2.3.23 uses a microsoft namespace "urn:schemas.microsoft.com:office:office".<ref name="grokdoc"/> VML objects are defined for backward compatabilty, the section starts, "''to maintain backward compatibility, all VML namespaces defined in this specification maintain the legacy namespace structure already used by millions of documents".''
*Nonstandard, inflexible paper-size naming: For example book 4 sections 3.3.1.61 define a "paperSize" attribute for which values 1 through 68 are predefined standard papersizes like A4 paper.<ref name="grokdoc"/>
*Bitmasks are not extensible and they creates a new data model, separate from the XML data model, however many element attributes are defined as bitmasks: For example book 4 section 2.8.2.16 "sig (Supported Unicode Subranges and Code Pages)" describes the <w:sig> element whose attributes are all bitmasks.<ref name="grokdoc"/>
*Cloning the behavior of proprietary applications: For example, book 4 section 2.15.3.6, autoSpaceLikeWord95, book 4 section 2.15.3.31, lineWrapLikeWord6.<ref name="grokdoc"/>
 
==References==
{{Reflist|colwidth=30em}}
<div class="references-small"><references/></div>
 
==Further See also reading==
{{Refbegin|colwidth=30em}}
 
* {{cite web
* [[List of document markup languages]]
|url = https://www.ecma-international.org/publications-and-standards/standards/ecma-376/
* [[Comparison of document markup languages]]
|title = Standard ECMA-376: Office Open XML File Formats; 1st edition (December 2006) and 2nd edition (December 2008)
* [[Comparison of OpenDocument and Office Open XML formats]]
|work = ECMA Standards
* [[Comparison of OpenDocument and Office Open XML licensing]]
|publisher = [[Ecma International]]
|access-date = 21 October 2010
}}
* {{cite web
|url = https://www.iso.org/committee/45374/x/catalogue/
|title = JTC 1/SC 34 - Document description and processing languages
|work = [[ISO Standards]]
|publisher = [[International Organization for Standardization]]
|access-date = 21 October 2010
}}
* {{cite web
|url = https://www.iso.org/iso/faqs_isoiec29500
|title = FAQs on ISO/IEC 29500
|work = ISO News and Media
|publisher = [[International Organization for Standardization]]
|access-date = 21 October 2010
}}
* {{cite web
|url=http://www.adjb.net/post/Microsoft-Fails-the-Standards-Test
|title=Microsoft Fails the Standards Test
|work=Where is an end of it?
|last=Brown
|first=Alex
|publisher=Alex Brown's weblog
|date=31 March 2010
|access-date=23 June 2018
}}
* {{cite book
|title = Office 2003 XML: Integrating Office with the Rest of the World
|chapter = Chapter 2: The WordprocessingML Vocabulary
|chapter-url = http://oreilly.com/catalog/officexml/chapter/ch02.pdf
|first1 = Evan
|last1 = Lenz
|first2 = Mary
|last2 = McRae
|first3 = Simon
|last3 = St.Laurent
|publisher = [[O'Reilly Media]]
|date = May 2004
|isbn = 978-0-596-00538-2
|url-access = registration
|url = https://archive.org/details/office2003xml00simo
}}
* {{cite web
|url = https://wiki.openoffice.org/w/index.php?title=Documentation/FAQ/General/How_do_I_open_Microsoft_Office_2007_files%3F
|title = How do I open Microsoft Office 2007 files?
|work = OpenOffice.org Wiki
|publisher = Oracle
|date = 7 September 2009
|access-date = 21 October 2010
}}
* {{cite web
|url = http://katana.oooninja.com/w/reference_sample_documents
|title = Reference and sample documents
|work = OpenOffice.org Ninja
|date = 8 December 2008
|access-date = 21 October 2010
|archive-date = 24 October 2010
|archive-url = https://web.archive.org/web/20101024174349/http://katana.oooninja.com/w/reference_sample_documents
|url-status = dead
}}
* {{cite journal
|url = https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1201708
|ssrn = 1201708
|title = Lost in Translation: Interoperability Issues for Open Standards - ODF and OOXML as Examples
|journal = [[Social Science Research Network]]
|publisher = Social Science Electronic Publishing, Inc
|date = September 2008
|last1 = Shah
|first1 = Rajiv C.
|last2 = Kesan
|first2 = Jay P.
}}
{{Refend}}
 
==External links==
{{Commons category|OOXML}}
{{wikinews|Microsoft pays blogger to correct Wikipedia article}}
* [https://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO/IEC 29500 standards]
===General Office Open XML===
* [http://www.openxmldeveloper.org/ OpenXMLDeveloper.org], Learn more about Office Open XML
* [http://www.wired.com/news/technology/software/0,72403-0.html?tw=rss.index Wired article on Office Open XML]
* [http://www.microsoft.com/interop/osp Microsoft Open Specification Promise]
* {{PDFlink|[http://www.oreilly.com/catalog/officexml/chapter/ch02.pdf "The WordprocessingML Vocabulary" (WordML)]}}
* [http://www.codeplex.com/ExcelPackage/ ExcelPackage: Open source server-side creation of Excel 2007 files (SpreadsheetML)]
 
{{ISO standards}}
===OOXML criticism===
{{Ecma International Standards}}
* {{PDFlink|[http://www.odfalliance.org/resources/OfficeOpenXMLFactSheet.pdf ODF Alliance OpenXML Fact Sheet]}}
{{Microsoft Office}}
* [http://www.grokdoc.net/index.php/EOOXML_objections EOOXML objections on Grokdoc]
{{Office document file formats}}
* [http://www.groklaw.net/article.php?story=2007011720521698 Groklaw on OOXML]
{{Document markup languages}}
* [http://www.robweir.com/blog/2007/01/guillaume-portes-redux.html "How to hire Guillaume Portes" Redux]
{{Authority control}}
* [http://developers.slashdot.org/article.pl?sid=07/01/05/0041212 Dark Corners of the OpenXML Standard]
* [http://press.ffii.org/Press_releases/FFII_opposes_Fasttrack_adoption_of_Microsoft_OOXML_format_as_ISO_standard FFII opposes Fasttrack adoption of Microsoft OOXML format as ISO standard]
 
[[Category:Office Open XML| ]]
===Converters===
* [http://www.panergy-software.com/products/docxconverter/features.html docXConverter] from Panergy
 
[[Category:XML-based standards]]
[[Category:Computer file formats]]
[[Category:Document-centric XML-based standards]]
[[Category:Ecma standards]]
[[Category:ISO/IEC 29500]]
[[Category:Markup languages]]
[[Category:Microsoft Office]]
[[Category:Open formats]]
 
[[csCategory:Office Open XML]]
[[de:Office Open XML]]
[[fr:Open XML]]
[[nl:Office Open XML]]