Office Open XML file formats: Difference between revisions

Content deleted Content added
Relationships: clarified URL reference
Bender the Bot (talk | contribs)
m Office MathML (OMML): HTTP to HTTPS for Blogspot
 
(40 intermediate revisions by 33 users not shown)
Line 1:
{{Short description|Family of file formats}}
{{Main|Office Open XML}}
 
Line 4 ⟶ 5:
{{Infobox file format
| name = Office Open XML Document
| icon = X-office-document.docx icon.svg
| logo sg =
| screenshot =
| caption =
| extension = .docx, .docm
| mime = application/vnd,.<br />openxmlformats-officedocument,.<br />wordprocessingml,.<br />document<ref name="mimetype">{{ cite web | url = https://technet.microsoft.com/en-us/library/cc179224.aspx | title = Register file extensions on third party servers | author = Microsoft | date = 26 February 2008 | accessdateaccess-date = 2009-09-04 | publisher = microsoft.com }}</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}}
| latest release version =
| latest release date =
Line 23 ⟶ 24:
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [http://www.ecma-international.org/publications-and-standards/standards/Ecmaecma-376.htm/ ECMA-376], [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=45374 ISO/IEC 29500:2008] }}
{{Infobox file format
| name = Office Open XML Presentation
| icon = X-office-presentation.pptx icon.svg
| logo =
| screenshot =
| caption =
| extension = .pptx, .pptm
| mime = application/vnd,.<br />openxmlformats-officedocument,.<br />presentationml,.<br />presentation<ref name="mimetype">{{ cite web | url = https://technet.microsoft.com/en-us/library/cc179224.aspx | title = Register file extensions on third party servers | author = Microsoft | date = 26 February 2008 | access-date = 2009-09-04 | publisher = microsoft.com }}</ref>
| type code =
| uniform type =
Line 45 ⟶ 46:
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [http://www.ecma-international.org/publications-and-standards/standards/Ecmaecma-376.htm/ ECMA-376], [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=45374 ISO/IEC 29500:2008] }}
{{Infobox file format
| name = Office Open XML Workbook
| icon = X-office-spreadsheet.xlsx icon.svg
| logo =
| screenshot =
| caption =
| extension = .xlsx, .xlsm
| mime = application/vnd,.<br />openxmlformats-officedocument,.<br />spreadsheetml,.<br />sheet<ref name="mimetype">{{ cite web | url = https://technet.microsoft.com/en-us/library/cc179224.aspx | title = Register file extensions on third party servers | author = Microsoft | date = 26 February 2008 | access-date = 2009-09-04 | publisher = microsoft.com }}</ref>
| type code =
| uniform type =
Line 67 ⟶ 68:
| extended to =
| standard = ECMA-376, ISO/IEC 29500
| url = [http://www.ecma-international.org/publications/standards-and-standards/Ecmaecma-376.htm/ ECMA-376], [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=45374 ISO/IEC 29500:2008]
}}
 
The '''Office Open XML file formats''' are a set of [[file format]]s that can be used to represent electronic [[Office suite|office]] documents. There are formats for [[word processing]] documents, [[spreadsheets]] and [[presentations]] as well as specific formats for material such as mathematical formulaeformulas, graphics, bibliographies etc.
 
The formats were developed by [[Microsoft]] and first appeared in [[Microsoft Office 2007]]. They were standardized between December 2006 and November 2008, first by the [[Ecma International]] consortium, where they became ECMA-376, and subsequently, after a [[Standardization of Office Open XML|contentious standardization process]], by the ISO/IEC's Joint Technical Committee 1, where they became ISO/IEC 29500:2008.
Line 78 ⟶ 79:
[[Image:Open Packaging Convention.png|220px|thumb|right|Container structure of Part 2 of the Ecma Office Open XML standard, ECMA-376]]
 
Office Open XML documents are stored in [[Open Packaging ConventionConventions]] (OPC) packages, which are [[ZIP (file format)|ZIP file]]s containing [[XML]] and other data files, along with a specification of the relationships between them.<ref name="ecma_tc45_white_paper">{{ cite web | url=http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf | title=Office Open XML Overview | author=Tom Ngo | page=6 | format=PDF | publisher=Ecma International | date=December 11, 2006 | accessdateaccess-date=2007-01-23 }}</ref> Depending on the type of the document, the packages have different internal directory structures and names. An application will use the relationships files to locate individual sections (files), with each having accompanying metadata, in particular [[MIME]] metadata.
 
A basic package contains an XML file called ''[Content_Types].xml'' at the root, along with three directories: ''_rels'', ''docProps'', and a directory specific for the document type (for example, in a .docx word processing package, there would be a ''word'' directory). The ''word'' directory contains the ''document.xml'' file which is the core content of the document.
Line 92 ⟶ 93:
An example relationship file (''word/_rels/document.xml.rels''), is:
 
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Relationships
Line 105 ⟶ 106:
TargetMode="External" />
</Relationships>
</syntaxhighlight>
</source>
 
As such, images referenced in the document 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 change the used image, edit the relationship.
Line 111 ⟶ 112:
The following code shows an example of inline markup for a [[hyperlink]]:
 
<sourcesyntaxhighlight lang="xml">
<w:hyperlink r:id="rId2" w:history="1"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
</syntaxhighlight>
</source>
 
In this example, the [[Uniform Resource Locator]] (URL) is in the Target attribute of the Relationship referenced through the relationship Id, "rId2" in this case. Linked images, templates, and other items are referenced in the same way.
Line 121 ⟶ 122:
Pictures can be embedded or linked using a tag:
 
<sourcesyntaxhighlight lang="xml">
<v:imagedata w:rel="rId1" o:title="example" />
</syntaxhighlight>
</source>
 
This is the reference to the image file. All references are managed via relationships. For example, a document.xml has a relationship to the image. There is a _rels directory in the same directory as document.xml, inside _rels is a file called document.xml.rels. In this file there will be a relationship definition that contains type, ID and ___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 a URL.
Line 133 ⟶ 134:
An example document properties file (''docProps/core.xml'') that uses Dublin Core metadata, is:
 
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
Line 150 ⟶ 151:
<cp:contentStatus>Final</cp:contentStatus>
</cp:coreProperties>
</syntaxhighlight>
</source>
 
== Document markup languages ==
Line 163 ⟶ 164:
Shared markup language materials include:
* Office Math Markup Language (OMML)
* DrawingML used for vector drawing, charts, and for example, text art (additionally, though deprecated, [[Vector Markup Language|VML]] is supported for drawing)
* Extended properties
* Custom properties
Line 176 ⟶ 177:
Patrick Durusau, the editor of [[OpenDocument|ODF]], has viewed the markup style of OOXML and ODF as representing two sides of a debate: the "element side" and the "attribute side". He notes that OOXML represents "the element side of this approach" and singles out the <code>KeepNext</code> element as an example:
 
<sourcesyntaxhighlight lang="xml">
<w:pPr>
<w:keepNext/>
</w:pPr>
</syntaxhighlight>
</source>
 
In contrast, he notes ODF would use the single attribute <code>fo:keep-next</code>, rather than an element, for the same semantic.<ref>{{ cite web
Line 189 ⟶ 190:
| date=21 October 2008 }}</ref>
 
The [[W3C XML Schema|XML Schema]] of Office Open XML emphasizes reducing load time and improving [[parsing]] speed.<ref>{{Cite web| title=Software Developer uses Office Open XML to Minimize File Space, Increase Interoperability| url=http://www.openxmlcommunity.org/documents/casestudies/Intellisafe_OpenXML_Final.pdf | author=Intellisafe Technologies}}{{Dead link|date=July 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> In a test with applications current in April 2007, XML-based office documents were slower to load than binary formats.<ref>{{ cite web | url=http://blogs.zdnet.com/Ou/?p=480 | title=MS Office 2007 versus Open Office 2.2 shootout | author=George Ou | date=2007-04-27 | accessdateaccess-date=2007-04-27 | publisher=ZDnet.com | archive-date=2009-03-26 | archive-url=https://web.archive.org/web/20090326081043/http://blogs.zdnet.com/Ou/?p=480 | url-status=dead }}</ref> To enhance performance, Office Open XML uses very short element names for common elements and spreadsheets save dates as index numbers (starting from 1900 or from 1904).<ref>{{ cite web | url=https://support.microsoft.com/en-us/kb/214330 | title=Differences between the 1900 and the 1904 date system in Excel | date=2013-03-05 | accessdateaccess-date=2016-08-23 | publisher=Microsoft}}</ref> In order to be systematic and generic, Office Open XML typically uses separate child elements for data and metadata (element names ending in ''Pr'' for ''properties'') rather than using multiple attributes, which allows structured properties. Office Open XML does not use mixed content but uses elements to put a series of text runs (element name ''r'') into paragraphs (element name ''p''). The result is terse{{Citation needed|date=October 2009}} and highly nested in contrast to [[HTML]], for example, which is fairly flat, designed for humans to write in [[text editors]] and is more congenial for humans to read.
 
The naming of elements and attributes within the text has attracted some criticism. There are three different syntaxes in OOXML (ECMA-376) for specifying the color and alignment of text depending on whether the document is a text, spreadsheet, or presentation. Rob Weir (an [[IBM]] employee and co-chair of the [[OASIS (organization)|OASIS]] [[OpenDocument Format]] TC) asks "What is the engineering justification for this horror?". He contrasts with [[OpenDocument]]: "ODF uses the W3C's XSL-FO vocabulary for text styling, and uses this vocabulary consistently".<ref>{{ cite web | url=http://www.robweir.com/blog/2008/03/disharmony-of-ooxml.html | title= Disharmony of OOXML | author=Rob Weir | date=14 March 2008}}</ref>
 
Some have argued the design is based too closely on Microsoft applications.
In August 2007, the [[Linux Foundation]] published a blog post calling upon ISO National Bodies to vote "No, with comments" during the International Standardization of OOXML. It said, "OOXML is a direct port of a single vendor's binary document formats. It avoids the re-use of relevant existing international standards (e.g. several cryptographic algorithms, VML, etc.). There are literally hundreds of technical flaws that should be addressed before standardizing OOXML including continued use of binary code tied to platform specific features, propagating bugs in MS-Office into the standard, proprietary units, references to proprietary/confidential tags, unclear [[Intellectual property|IP]] and patent rights, and much more".<ref>{{ cite web | url=http://www.linux-foundation.org/weblogs/cherry/2007/08/29/ooxml-vote-no-with-comments/ | title=OOXML&nbsp;— vote "No, with comments" | author=John Cherry | date=14 March 2008 | access-date=30 October 2009 | archive-date=22 August 2009 | archive-url=https://web.archive.org/web/20090822055654/http://www.linux-foundation.org/weblogs/cherry/2007/08/29/ooxml-vote-no-with-comments/ | url-status=dead }}</ref>
 
The version of the standard submitted to [[ISO/IEC JTC1JTC 1|JTC 1]] was 6546 pages long. The need and appropriateness of such length has been questioned.<ref name="GooglesPositiononOOXML">{{ cite web | url = http://www.odfalliance.org/resources/Google%20OOXML%20Q%20%20A.pdf | title = Google's Position on OOXML as a Proposed ISO Standard | date = February 2008 | publisher = [[Google]] | quote = If ISO were to give OOXML with its 6546 pages the same level of review that other standards have seen, it would take 18 years (6576 days for 6546 pages) to achieve comparable levels of review to the existing ODF standard (871 days for 867 pages) which achieves the same purpose and is thus a good comparison. Considering that OOXML has only received about 5.5% of the review that comparable standards have undergone, reports about inconsistencies, contradictions and missing information are hardly surprising | url-status = dead | archive-url = https://web.archive.org/web/20100818112807/http://www.odfalliance.org/resources/Google%20OOXML%20Q%20%20A.pdf | archive-date = 2010-08-18 }}</ref><ref>{{ cite web | url = http://www.ibm.com/developerworks/library/x-ooxmlstandard.html | title = OOXML: What's the big deal? | date = 2008-02-19 | publisher = [[IBM]] | url-status = dead | archive-url = https://web.archive.org/web/20091003044227/http://www.ibm.com/developerworks/library/x-ooxmlstandard.html | archive-date = 2009-10-03 }}</ref> [[Google]] stated that "the ODF standard, which achieves the same goal, is only 867 pages"<ref name="GooglesPositiononOOXML"/>
 
=== WordprocessingML (WML) ===
 
Word processing documents use the XML vocabulary known as WordprocessingML normatively defined by the schema <ttcode>wml.xsd</ttcode> which accompanies the standard. This vocabulary is defined in clause 11 of Part 1.<ref name="ISO/IEC 29500-1:2016">{{ cite web | url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c071691_ISO_IEC_29500-1_2016.zip | title=ISO/IEC 29500-1:2016 | date=2016-11-01 | publisher=ISO and IEC}}</ref>
 
=== SpreadsheetML (SML) ===
 
Spreadsheet documents use the XML vocabulary known as SpreadsheetML normatively defined by the schema <ttcode>sml.xsd</ttcode> which accompanies the standard. This vocabulary is described in clause 12 of Part 1.<ref name="ISO/IEC 29500-1:2016"/>
 
Each worksheet in a spreadsheet is represented by an XML document with a root element named {{tag|worksheet}} in the {{LinkBlue|<nowiki>http://schemas.openxmlformats.org/spreadsheetml/2006/main</nowiki>}} Namespace.
 
The representation of date and time values in SpreadsheetML has attracted some criticism. ECMA-376 1st edition does not conform to ISO 8601:2004 "Representation of Dates and Times". It requires that implementations replicate a [[Lotus 1-2-3]] <ref>{{ cite web | url = http://www.exceluser.com/explore/earlydates.htm | title = How to Work With Dates Before 1900 in Excel | first = Charley | last = Kyd | date = October 2006 | work = ExcelUser | accessdateaccess-date = 2009-09-16 }}</ref> bug that erroneously treats 1900 as a leap year. Products complying with ECMA-376 would be required to use the WEEKDAY() spreadsheet function, and therefore assign incorrect dates to some days of the week, and also miscalculate the number of days between certain dates.<ref name="The Contradictory Nature of OOXML">{{ cite web | url=http://www.consortiuminfo.org/standardsblog/article.php?story=20070117145745854 | title=The Contradictory Nature of OOXML | date=17 January 2007 | publisher=ConsortiumInfo.org}}</ref> ECMA-376 2nd edition (ISO/IEC 29500) allows the use of 8601:2004 "Representation of Dates and Times" in addition to the Lotus 1-2-3 bug-compatible form.<ref>{{ cite web | url = http://www.ecma-international.org/publications/standards/Ecma-376.htm | title = ECMA-376 2nd edition Part 1 (3. Normative references) | publisher = Ecma-international.org | access-date = | accessdate = 2009-09-16}}</ref><ref>{{ cite web | url = http://www.ecma-international.org/news/TC45_current_work/New%20set%20of%20proposed%20dispositions%20posted.htm | title = New set of proposed dispositions posted, including more positive changes to the Ecma Office Open XML formats&nbsp;– Dispositions now proposed for more than half of National Bodies' comments | publisher = Ecma-international.org | date = 2007-12-11 | accessdateaccess-date = 2009-09-16}}</ref>
 
=== Office MathML (OMML) ===
Office Math Markup Language is a mathematical markup language which can be embedded in WordprocessingML, with intrinsic support for including word processing markup like revision markings,<ref>{{cite web|url = http://idippedut.dk/post/Do-your-math-OOXML-and-OMML|title = Do your math - OOXML and OMML (Updated 2008-02-12)|author = Jesper Lund Stocholm|publisher = A Mooh Point blog|date = 2008-02-12|accessdateaccess-date = 2015-11-18|archive-date = 2016-03-26|archive-url = https://web.archive.org/web/20160326225935/http://idippedut.dk/post/Do-your-math-OOXML-and-OMML|url-status = dead}}</ref> footnotes, comments, images and elaborate formatting and styles.<ref>{{cite web| url=http://blogs.msdn.com/murrays/archive/2007/06/05/science-and-nature-have-difficulties-with-word-2007-mathematics.aspx| title=Science and Nature have difficulties with Word 2007 mathematics| author=Murray Sargent| publisher=MSDN blogs| date=2007-06-05| accessdateaccess-date=2007-07-31}}</ref>
The OMML format is different from the [[World Wide Web Consortium]] (W3C) [[MathML]] recommendation that does not support those office features, but is partially compatible<ref>{{cite web| url=httphttps://dpcarlisle.blogspot.com/2007/04/xhtml-and-mathml-from-office-20007.html| title=XHTML and MathML from Office 2007| author=David Carlisle| publisher=David Carlisle| date=2007-05-09| accessdateaccess-date=2007-09-20}}</ref> through [[XSL Transformations]]; tools are provided with office suite and are automatically used via clipboard transformations.<ref>{{Cite web|url=http://blogs.msdn.com/b/murrays/archive/2007/06/05/science-and-nature-have-difficulties-with-word-2007-mathematics.aspx|title = DevBlogs}}</ref>
 
The following Office MathML example defines the [[fraction (mathematics)|fraction]]: <math>\frac{\pi}{2}</math>
 
<sourcesyntaxhighlight lang="xml">
<m:oMathPara><!-- mathematical block container used as a paragraph -->
<m:oMath><!-- mathematical inline formula -->
Line 225 ⟶ 226:
</m:oMath>
</m:oMathPara>
</syntaxhighlight>
</source>
 
Some have queried the need for Office MathML (OMML) instead advocating the use of [[MathML]], a [[World Wide Web Consortium|W3C]] recommendation for the "inclusion of mathematical expressions in Web pages" and "machine to machine communication".<ref>{{cite web| url=httphttps://www.zdnet.com.au/newsarticle/software/soa/Microsoftmicrosoft-Officeoffice-dumped-by-Sciencescience-and-Naturenature/0,130061733,339278690,00.htm| title=Microsoft Office dumped by Science and Nature| publisher=ZDNet Australia| date=18 June 2007}}</ref> Murray Sargent has answered some of these issues in a blog post, which details some of the philosophical differences between the two formats.<ref>{{Cite web|url=http://blogs.msdn.com/b/murrays/archive/2006/10/07/mathml-and-ecma-math-_2800_omml_2900_-.aspx|title = DevBlogs}}</ref>
 
=== DrawingML ===<!-- English Metric Unit links to here -->
Line 237 ⟶ 238:
DrawingML contains graphics effects (like shadows and reflection) that can be used on the different graphical elements that are used in DrawingML.
In DrawingML you can also create 3d effects, for instance to show the different graphical elements through a flexible camera viewpoint.
It is possible to create separate DrawingML theme parts in an Office Open XML package. These themes can then be applied to graphical elements throughout the Office Open XML package.<ref>{{ cite web | url=http://openxmldeveloper.org/articles/1970.aspx | title=Open XML Explained e-book | author=Wouter Van Vugt | date=2008-11-01 | accessdateaccess-date=2007-09-14 | publisher=Openxmldeveloper.org | archive-url=https://web.archive.org/web/20071028122956/http://openxmldeveloper.org/articles/1970.aspx | archive-date=2007-10-28 | url-status=dead }}</ref>
 
DrawingML is unrelated to the other [[vector graphics]] formats such as [[Scalable Vector Graphics|SVG]]. These can be converted to DrawingML to include natively in an Office Open XML document. This is a different approach to that of the [[OpenDocument]] format, which uses a subset of SVG, and includes vector graphics as separate files.
 
A DrawingML graphic's dimensions are specified in ''English Metric Units'' (EMUs). It is so called because it allows an exact common representation of dimensions originally in either [[English units|English]] or [[Metric units. This unit issystem|metric]] definedunits—defined as 1/360,000 of a [[centimeter]], and thus there are 914,400 EMUs per [[inch]], and 12,700 EMUs per [[point (typography)|point]]. This unit was chosen so that integers can be used, to accuratelyprevent represent most dimensions encounteredround-off in a documentcalculations. Floating point cannot accurately represent a fraction that is not a sum of powers of two and the error is magnified when the fractions are added together many times, resulting in misalignment. As an inch is exactly 2.54 centimeters, or 127/50, 1/127&nbsp;inch is an integer multiple of a power-of-ten fraction of the meter (2×10<sup>−4</sup>&nbsp;m). To accurately represent (with an integer) 1&nbsp;μm = 10<sup>−6</sup>&nbsp;m, a divisor of 100 is further needed. To accurately represent the [[point (typography)|point]] unit, a divisor of 72 is needed, which also allows divisions by 2, 3, 4, 6, 8, 9, 12, 18, 24, and 36 to be accurate. Multiplying these together gives 127×72×100 = 914,400 units per inch; this also allows exact representations of multiples of 1/100 & 1/32&nbsp;inch. According to [[Rick Jelliffe]], programmer and standards activist (ISO, W3C, IETF),favors EMUs areas a rational solution to a particular set of design criteria.<ref>{{ cite web |datetitle=AprilWhy 16,EMUs? 2007|last1=Jelliffe |authorfirst1= Rick Jelliffe in Technical | url = http://www.oreillynet.com/xml/blog/2007/04/what_is_an_emu.html | title website= Why EMUs? - O'Reilly XML Blog | publisher=O'Reilly |access-date=2009-05-19 Oreillynet|archive-url=https://web.archive.org/web/20141229020130/http://archive.oreilly.com/pub/post/what_is_an_emu.html | accessdate archive-date= 20092014-0512-1929 |url-status=dead}}</ref>
 
Some have criticised the use of DrawingML (and the transitional-use-only [[Vector Markup Language|VML]]) instead of [[World Wide Web Consortium|W3C]] recommendation [[Scalable Vector Graphics|SVG]].<ref>{{ cite web | url=http://reddevnews.com/features/article.aspx?editorialsid=2356 | title= The X Factor | publisher=reddevnews.com |date=October 2007 }}</ref> VML did not become a W3C recommendation.<ref>{{ cite web | url = http://www.w3.org/TR/NOTE-VML | title = VML&nbsp;— the Vector Markup Language | publisher = W3.org | date = 1998-05-13 | accessdateaccess-date = 2009-05-19 }}</ref>
 
== Foreign resources ==
Line 267 ⟶ 268:
Versions of Office Open XML contain what are termed "compatibility settings". These are contained in Part 4 ("Markup Language Reference") of ECMA-376 1st Edition, but during standardization were moved to become a new part (also called Part 4) of ISO/IEC 29500:2008 ("Transitional Migration Features").
 
These settings (including element with names such as ''autoSpaceLikeWord95'', ''footnoteLayoutLikeWW8'', ''lineWrapLikeWord6'', ''mwSmallCaps'', ''shapeLayoutLikeWW8'', ''suppressTopSpacingWP'', ''truncateFontHeightsLikeWP6'', ''uiCompat97To2003'', ''useWord2002TableStyleRules'', ''useWord97LineBreakRules'', ''wpJustification'' and ''wpSpaceWidth'') were the focus of some controversy during the standardisation of DIS 29500.<ref>{{ cite web | url=http://www.freesoftwaremagazine.com/articles/odf_ooxml_technical_white_paper?page=0%2C9 | title=ODF/OOXML technical white paper&nbsp;— A white paper based on a technical comparison between the ODF and OOXML formats | publisher=Free Software Magazine}}</ref> As a result, new text was added to ISO/IEC 29500 to document them.<ref>{{ cite web | url = http://www.ecma-international.org/publications/standards/Ecma-376.htm | title = ECMA-376 2nd edition Part 4 (paragraph 9.7.3) | publisher = Ecma-international.org | access-date = | accessdate = 2009-09-16 }}</ref>
 
An article in ''[[Free Software Magazine]]'' has criticized the markup used for these settings. Office Open XML uses distinctly named elements for each compatibility setting, each of which is declared in the schema. The repertoire of settings is thus limited &mdash; for new compatibility settings to be added, new elements may need to be declared, "potentially creating thousands of them, each having nothing to do with interoperability".<ref>{{ cite web | quote="... OOXML chose this route. Rather than create an application-definable configuration tag there is a unique tag for each setting ... Currently, the only application's unique settings that are catered for are the applications that the standard's authors have decided to include, ... For other applications to be added, further tag names would need to be defined in the specification, potentially creating thousands of them, each having nothing to do with interoperability ..". | url=http://www.freesoftwaremagazine.com/articles/odf_ooxml_technical_white_paper?page=0%2C7 | title=ODF/OOXML technical white paper&nbsp;— A white paper based on a technical comparison between the ODF and OOXML formats | publisher=Free Software Magazine }}</ref>
 
== Extensibility ==
Line 284 ⟶ 285:
 
[[Category:Office Open XML|*]]
[[Category:Computer-related introductions in 2006]]
[[Category:XML]]
[[Category:Document-centric XML-based standards]]