Jump to content

Office Open XML: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 545: Line 545:
| url=http://www.incits.org/ref-docs/in071208.zip
| url=http://www.incits.org/ref-docs/in071208.zip
| title= IBM Comments on INCITS LB 2212 - DIS 29500
| title= IBM Comments on INCITS LB 2212 - DIS 29500
| Publisher= INCITS (US standards body)}}</ref>, [http://www.nooxml.org Nooxml], and [[Google]]<ref>{{Cite web
| Publisher= INCITS (US standards body)}}</ref>, [http://www.noooxml.org Noooxml], and [[Google]]<ref>{{Cite web
| url=https://forums.scc.ca/forums/scc/dispatch.cgi/public/showFile/100294/d20070705225348/No/objections%20by%20Google.pdf
| url=https://forums.scc.ca/forums/scc/dispatch.cgi/public/showFile/100294/d20070705225348/No/objections%20by%20Google.pdf
| title=Preliminary Google reply to DIS 29500}}</ref>.
| title=Preliminary Google reply to DIS 29500}}</ref>.

Revision as of 23:32, 13 November 2007

Template:Distinguish2 Office Open XML (commonly referred to as OOXML or OpenXML) is an XML-based file format specification for electronic documents such as spreadsheets, charts, presentations and word processing documents.

Microsoft originally developed the specification as a successor to its binary Microsoft Office file formats and it was handed over to Ecma International to be developed as the Ecma 376 standard, which was published in December 2006.[1]

Controversially, the specification is currently undergoing fast-track standardization within ISO/IEC as DIS 29500 (Draft International Standard 29500), but the draft text has failed (as of the September 2007 ballot) to reach sufficient approval from ISO/IEC national body members to be accepted as a standard. A ballot resolution process will allow for the text to be amended and a final decision to be reached on its acceptability for standardization.


Background

Prior to the 2007 edition of Microsoft Office, its component applications (such as Word and Excel) used binary file formats for storing data by default. Historically, these formats have been difficult for developers to work with natively, due to a lack of publicly available information on, and royalty-free access to, the format specifications, although Microsoft does offer these binary format specifications under a royalty free covenant not to sue[2]. Despite these difficulties a level of support has been achieved, though full interoperability has remained elusive.

In 2000, Microsoft released an initial version of an XML based format for Excel, then in 2002 a new file format for MS Word followed[3]. These formats were later incorporated into the 2003 release of Microsoft Office 2003, known as Office 2003 XML formats.

In 2004 governments and the European Union recommended to Microsoft that they publish and standardise their XML Office formats through a standardisation organisation[4]. Microsoft decided[citation needed] in December 2005 to standardise the new version of their Microsoft Office XML format through Ecma (renamed as Ecma Office Open XML).

File format and structure

In the earlier form of these formats, prior to Ecma standardization, the Microsoft Office 2003 XML formats used a single monolithic file with embedded items like pictures as binary encoded blocks within the XML. Office Open XML no longer supports those but uses a file package conforming to the Open Packaging Convention. This format uses the ZIP (file format) and contains the individual files that form the basis of the document. In addition to Office markup, the package can also include embedded (binary) files in formats such as PNG, BMP, AVI or PDF.

Document markup languages

An Office Open XML file may contain several documents encoded in specialized markup languages corresponding to applications within the Microsoft Office product line. Office Open XML defines multiple vocabularies (using 27 namespaces and 89 schema modules.) The primary markup languages are, WordprocessingML for Word-processing, SpreadsheetML for Spreadsheets, and PresentationML for presentations. DrawingML is used for vector drawing, charts, and for example, text art. Additionally, though deprecated, VML is supported for drawing.

Shared markup language materials include:

  • Office Math Markup Language (OMML)
  • Extended properties
  • Custom properties
  • Variant Types
  • Custom XML data properties
  • Bibliography

In addition to the above markup languages custom XML schema's can be used to extend Office Open XML.

The XML Schema of OOXML emphasizes reducing load time and improving parsing speed. In a test with applications current in April 2007, XML based office documents were slower to load than binary formats.[5] For speed, OOXML uses very short element names for common elements and spreadsheets save dates as index numbers (starting from 1899 or from 1904). In order to be systematic and generic, OOXML 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. OOXML 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 and highly nested in contrast to HTML, for example, which is fairly flat, designed for humans to write in text editors and is more or less congenial for humans to read.

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, footnotes, comments, images and elaborate formatting and styles.[6] The format is different from the World Wide Web Consortium (W3C) MathML recommendation, but is partially compatible[7] through relatively simple XSL Transformations.

DrawingML
File:DrawingML text effect.png
Example of DrawingML text effects

DrawingML is the graphics markup language, used in place of the W3C standard, SVG. Its major features are the graphics rendering of text elements, graphical vector based shape elements, graphical tables and charts.

The DrawingML table is the third table model in Office Open XML (next to the table models in WordprocessingML and SpreadsheetML) and is optimized for graphical effects and its main use is in presentations created with PresentationML markup. 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. [8]

Container structure

Office Open XML packages have characteristically different directory structures and names depending on the type of document. An application will use the relationships files to locate individual sections (files), with each having accompanying metadata, in particular MIME metadata.

Office Open XML format uses a ZIP package for storing XML and other data files.[9]

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.

[Content_Types].xml
This file describes the contents of the package. It also contains a mapping for file extensions and overrides for specific URIs.
_rels
This directory contains relationships for the files within the package. To find the relationships for a specific file, look for the _rels directory that is a sibling of the file, and then for a file that has the original file name with a .rels appended to it. For example, if the content types file had any relationships, there would be a file called [Content_Types].xml.rels inside the _rels directory.
_rels/.rel
This file is where the package relationships are located. Applications look here first. Viewing in a text editor, one will see it outlines each relationship for that section. In a minimal document containing only the basic document.xml file, the relationships detailed are metadata and document.xml.
word/document.xml
This file is the main part for any Word document. Viewed in an XML editor, one will see a pretty basic XML file.

Relationships

Relationship files in Office Open XML

An example relationship file (from word/_rels/document.xml.rels)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Relationships
  xmlns="http://schemas.microsoft.com/package/2005/06/relationships">
  <Relationship Id="rId1"
     Type="http://schemas.microsoft.com/office/2006/relationships/image"
     Target="http://en.wikipedia.org/images/wiki-en.png"
     TargetMode="External" />
  <Relationship Id="rId2"
     Type="http://schemas.microsoft.com/office/2006/relationships/hyperlink"
     Target="http://www.wikipedia.org"
     TargetMode="External" />
</Relationships>

As such, images referenced in the document can be found in the relationship file by looking for all relationships that are of type http://schemas.microsoft.com/office/2006/relationships/image. To change the used image, edit the relationship.

The following code shows an example of inline markup for a hyperlink:

<w:hyperlink w:rel="rId2" w:history="1"> 

In this example, the URL is represented by "rId2". The actual URL is in the accompanying relationships file, located by the corresponding "rId2" item. Linked images, templates, and other items are referenced in the same way.

Embedded or linked media file relations

Pictures can be embedded or linked using a tag:

<v:imagedata w:rel="rId1" o:title="example" />

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 an URL.

Licensing

Ecma International provides specifications that “can be freely copied by all interested parties without restrictions”[10] and under the Ecma code of conduct in patent matters which requires participating and approving member organisations to make available their patent rights under a reasonable and non-discriminatory basis (see Reasonable and Non Discriminatory Licensing). These "reasonable and non-discriminatory" are common minimum patent conditions for a standard. International standardization adheres to a clear preference for royalty-free patent licensing. That is why Microsoft, which is a main contributor to the standard, provided a Covenant Not to Sue[11] for its patent licensing. The covenant received a mixed reception, with some (like Groklaw) identifying problems[12] and others (such as Lawrence Rosen) endorsing it.[13]

Microsoft also added the format to their Open Specification Promise[14] in which Microsoft irrevocably promises “not to assert any Microsoft Necessary [Patent] Claims against you for making, using, selling, offering for sale, importing or distributing any implementation to the extent it conforms to a Covered Specification ("Covered Implementation")”.

The format can therefore be used under the Covenant Not to Sue or the Open Specification Promise.

In support of the licensing arrangements Microsoft commissioned an analysis from the London legal firm Baker & Mckenzie.[15]

The Open Specification Promise was included in documents submitted to ISO in support of the Ecma 376 fast track submission.[16]. In response to criticism of the licensing, ECMA provided the following statements[17]:"

  • Contributions to Ecma were made under the Ecma Code of Conduct in Patent Matters...
  • The OSP enables both open source and commercial software to implement DIS 29500."

With Ecma International publishing the specification for free and patents made irrevocably available on a royalty-free basis, Office Open XML conforms to all characteristics of the European Union's definition of an open standard[18].

Standardization

Template:Future software

Standardization within Ecma International

Microsoft submitted Office Open XML to the Ecma International standardization process to make it an open standard. Ecma formed a technical committee (TC45) in order to produce and maintain a "formal standard for office productivity applications that is fully compatible with the Office Open XML Formats, submitted by Microsoft".[19] The technical committee is chaired by Microsoft [20] and includes members from Apple, Canon, Intel, NextPage, Novell, Pioneer, Statoil ASA, Toshiba, The United States Library of Congress, The British Library and the Gnome Foundation .[21].

Ecma International approved Office Open XML as Ecma standard (Ecma-376) on 2006-12-07 [1] and submitted the approved submission for fasttracking standardization to ISO/IEC JTC 1.

The Ecma-376 Office Open XML File Formats standard can be freely downloaded from Ecma international.

Submission to ISO

As an ISO/IEC JTC 1 external Category A liaison, Ecma have submitted Ecma 376 to the JTC 1 fast track standardization process. To meet the requirements of this process, [22] Ecma have submitted the documents "Explanatory report on Office Open XML Standard (Ecma-376) submitted to JTC 1 for fast-track"[23] and "Licensing conditions that Microsoft offers for Office Open XML".[16]

The fast track process consists of a contradictions phase, a ballot phase, and a ballot resolution phase.

During the contradictions phase, ISO/IEC members national standardization bodies submit perceived contradictions to JTC 1; during the ballot phase the members vote on the specification as it was submitted by Ecma and submit editorial and technical comments with their vote; in the ballot resolution phase the submitted comments are addressed and members invited to reconsider their vote.

Ballot result

ISO announced in September 2007 that the submitted draft of Office Open XML had not achieved the required number of votes for approval during the ballot phase.[24] Eighty-seven ISO member countries responded to the ballot. There were 51 votes of "approval", 18 votes of "disapproval" and 18 abstentions. "P-members", who were required to vote, had to approve by 66.67% for the text to be approved. The P-members voted 17 in favor out of 32, below the required threshold for approval. Also, no more than 25% of the total member votes may be negative for the text to be approved, and this requirement was also not met since 26% of the total votes were negative. The standardization process now moves to ballot resolution, as outlined below.

Response to the ballot

The letter ballot has closed and Ecma is responding to the comments made by the national bodies that voted; sorting, grouping, identifying and combining duplicate comments.

The result of Ecma's response will be a "Disposition of Comments" document — a set of proposed revisions to the DIS 29500 draft designed to satisfy the comments of the national bodies who voted to disapproved the draft text in the letter ballot. This series of edits form the base agenda for the Ballot Resolution Meeting and the attendees of that meeting will be asked to form opinions on the revision document. Ecma has chosen to provide a revised specification by January 14, 2008 for all voting national bodies to consider in their review of their original vote [25]

Ecma international will simultaneously liaise informally with national bodies, attempting to arrive at a set of revisions that are acceptable for standardization approval using a portal site especially set up for this purpose[26]

Ballot resolution process

As the September ballot did not show clear consensus to approve or reject DIS 29500, a Ballot Resolution Meeting (BRM) has been called, at the discretion of the SC34 secretariatiat. The outcome of this meeting decides whether DIS 29500 succeeds or fails in its fasttrack bid to become a full International Standard. The DIS 29500 BRM is scheduled for the week of 25 February-29 February, 2008 at the International Conference Centre Geneva. The convenor of the BRM has his own blog about this process.

Who attends the BRM?

The eligible participants in the BRM are representatives of the 87 national bodies that voted in the five-month ballot, the proposer (Ecma), and support and administrative staff. Observers and press are prohibited from attending, and the meeting may not be recorded. The JTC 1 Directives state that those national bodies that voted "disapprove" during the five-month ballot have a duty to send a delegation to this meeting. (JTC 1 Directives[22] clause 13.7); those who voted "approve" or who abstained in the five-month ballot are under no such obligation.

The meeting is expected to attract up to 120 participants, and because of the great interest, countries may have to limit the sizes of their delegations.

Meeting process

During this meeting, the participants consider each of Ecma's responses to the comments gathered in the preceding process. Each comment is thus effectively "resolved" by the meeting's participants either:

  • agreeing to a proposed alteration of the text by Ecma
  • agreeing to withdraw that comment (if, for example, it is incorrect)
  • otherwise agreeing to amend the text or ignore a comment following discussion

In this way, a set of editorial changes to the text is agreed that, collectively, implies a new revised document. The meeting then agrees whether this final "implied" document is acceptable as a revision of DIS 29500.

Voting procedures

JTC 1 states that decisions at the BRM should be reached preferably by consensus, but that any unavoidable votes should be taken according to normal JTC 1 procedures (JTC 1 Directives[22] clause 13.8).

The votes on resolving comments pass if:

  • At least two-thirds of the P-members voting (abstentions do not count) shall have approved. The P-members form a subset of 40 countries with more voting power.[27]
  • Not more than one-quarter of the total number of votes cast (P-members and others) are negative

If the BRM agrees to modify the text, countries may change their position (as already expressed in the five-month ballot) to any of "approve", "disapprove" or "abstain" for a 30 day period following the BRM. [28]

Final outcome

If this meeting fails to produce a text which the countries can approve with the required majority, the fast tracking of DIS 29500 fails and the procedure is immediately terminated (JTC 1 Directives[22] clause 13.10): if the meeting does produce such text, and the voting criteria are thus met, any required changes are applied by the editor and the new text is passed for publication as a full ISO standard (JTC 1 Directives[22] clause 13.9). The final revised text must then be distributed no later than one month after the end of the meeting (JTC 1 Directives[22] clause 13.12).

After that, the text goes into the publication process which takes several months. It may take additional time for ISO to make the standard a free publication. Ecma International however, may immediately adopt the final text as a new version of Ecma-376 and publish it as such for free.

ISO maintenance regime

The precise details of a maintenance regime for OOXML (should it become an ISO Standard) are yet to be determined. Ecma have however put forward a maintenance proposal for discussion by SC34 at a meeting scheduled to take place in December 2007 in Kyoto.

Whatever is decided there, the JTC 1 Directives stipulate that:

  • Proposals to amend the text, and acceptance of any such amendments, are subject to normal ISO voting processes (JTC 1 Directives[22] clause 15.5)
  • The standard cannot be "stabilised" (i.e. no longer subject to periodic maintenance) except through approval in a JTC 1 ballot (JTC 1 Directives[22] clause 15.6.2).
  • For the standard to be stabilised it must have passed through 'one review cycle' (JTC 1 Directives[22] clause 15.6.1). In this review cycle the text would have to have been re-written to comply with ISO's formatting and verbal requirements (JTC 1 Directives[22] clause 13.4).

Complaints about national bodies process

Some complaints about the procedures in the national bodies have surfaced during the five-month ballot process.

  • At Portugal's national bodies TC meeting, it was suggested that Sun Microsystems be represented. An unofficial transcript suggested that this was refused for "lack of space". [29] This has been criticized by opponents of OOXML [30], while Microsoft claims that the number of seats (not chairs) on the committee was limited to 20 by the national body before the meeting. [31]
  • The Swedish Standards Institute has become one of the battlegrounds for supporters and opponents of Office Open XML in the current ISO standardization process. Microsoft Sweden asked its partners to get involved in the standardization process. In total 22 Microsoft partners (four of which may have been IBM partners as well) and Google paid a 17.000 SEK (2444 USD) fee to join the committee and were allowed to vote at the last minute. [32] A Microsoft memo to its partners has surfaced, requesting them to join the SIS committee and vote in favor of OOXML in return for "marketing contributions". [33] Microsoft claims the memo was the action of an individual employee acting outside company policy, and retracted soon as it was discovered. [34] In the end, SIS decided to invalidate the vote as one company cast more than one vote, which is against SIS rules.[35]
  • In Netherlands, the committee of the Dutch standardization institute NEN intended to vote "No with comments", where the comments would list the conditions under which OOXML would be acceptable to the committee. These conditions were a compromise between the parties represented in the committee. However, the procedure required unanimous support of the "no" vote, and the lack of support by the Dutch Microsoft representation in the committee resulted in an "abstain" vote.[36]
  • In Switzerland, SNV registered a vote of approval with comments, there was criticism about a conflict of interest regarding the chairman of the NK 149 committee, who overruled votes and did not allow discussion of legal and economic arguments.[37][38]
  • Malaysia, which voted to abstain, the Industry Standards Committee on Information Technology, Telecommunication and Multimedia (ISC-G) voted overwhelmingly No, with comments. [39]
  • Cyprus, which was accepted as a P-member a few days before voting, did not follow a responsible process in analyzing OOXML.[40]
  • In Norway Microsoft sent a form letter to its partners asking them to submit it; 37 identical letters were received, but in some instances the form hadn't even been signed.[41][42][43].

Adoption

Office Open XML is the default Microsoft Office 2007 format. For older versions such as Microsoft Office 2000, XP and 2003 a compatibility pack is provided.[44] The compatibility pack can also be used as a stand alone converter with Microsoft Office 97.

  • Microsoft Office Open XML File Format Converter for Mac 0.2 (Beta)[45]Microsoft had previously advised users of Office 2007 to save their files in the old Office binary format[46].
  • Beta testing has started on Microsoft Office 2008 for Mac, which will support the format. The final version is scheduled to release in mid-January 2008.[47]
  • Corel has released beta version of their Corel Wordperfect Office X3 edition that includes support for Office Open XML.[53]
  • Thinkfree Office, the online office suite supports Office Open XML wordprocessing files and will support Spreadheets and Presentation files in future [54]
  • Gnumeric has limited SpreadsheetML markup language support.[55]
  • NeoOffice includes a ODF Convertor Plugin that supports Office Open XML documents in the Mac OS X based Office suite based on OpenOffice.org since version 2.1[58]
  • Datawatch supports Office Open XML spreadsheets in its report mining tool Monarch v9.0[61]

Arguments in support and criticism of OOXML standard

Support

OOXML's proponents have provided arguments for standardization, summarized by Ecma[62].

User base argument

The most widely used office productivity packages currently rely on various proprietary and reverse engineered binary file formats such as doc, ppt and xls. For users of the binary formats there could be an advantage to migrating to an open XML standard that maps the features of previous binary file formats. Office Open XML for this purpose explicitly states as a goal of the format[63] to preserve investments in existing files and applications.

Microsoft key benefits arguments

Microsoft makes the following claims about Office Open XML as compared to MS Office's current binary-based file format.[64]

  • Integration of business information with documents
  • Open and royalty-free specification
  • Compact, robust file format
  • Safer documents
  • Easier integration
  • Transparency and improved information security
  • Compatibility

Policy arguments

Ecma has provided the following policy arguments in favor of standardization[65] with respect to Overlap in Scope with ISO/IEC 26300:2006 (ODF): overlap in scope of ISO/IEC standards is common and can serve a practical purpose; OOXML addresses distinct user requirements; ODF and OOXML are structured to meet different user requirements; OOXML and ODF can serve as duo-standards.

In a statement on February 14, 2007 Microsoft attacked IBM's "global campaign" in opposition to the Office Open XML standardization process.[66] In it, they claim that:

  • "Ecma almost unanimously agreed to submit Open XML as a standard for ratification by ISO/IEC JTC1 with only IBM dissenting."
  • "IBM led a global campaign urging national bodies to ... not even consider Open XML, because ODF had made it through ISO/IEC JTC1 first – in other words, that Open XML should not even be considered on its technical merits because a competing standard had already been adopted. This campaign to stop even the consideration of Open XML in ISO/IEC JTC1 is a blatant attempt to use the standards process to limit choice in the marketplace for ulterior commercial motives – and without regard for the negative impact on consumer choice and technological innovation."

Technical arguments

  • The use of the Open Packaging specification which allows for Indirection, Chunking and Relative indirection. [67]
  • Uses the ZIP format, making ZIP part of the standard (Due to compression, files are smaller than current binary formats [68])
  • It supports custom data elements for integration of data specific to an application or an organisation that wants to use the format. [68]
  • It is currently the only open document standard to define spreadsheet formulae.[citation needed]
  • Office Open XML contains alternate representations for the XML schemas and extensibility mechanisms using RELAX NG (ISO/IEC 19757-2) and NVDL (ISO/IEC 19757-4) [68]
  • No restriction to image, audio or video types. Images can be in WMF, GIF, PNG, TIFF, PICT, JPEG or any other image type, Book 1 §14.2.12.[citation needed]
  • Embedded controls can be of any type, such as Java or ActiveX, Book 1 §15.2.8.[citation needed]
  • WordprocessingML font specifications can include font metrics and PANOSE information to assist in finding a substitution font if the original is not available, Book 3 §2.10.5. [68]
  • Alternate Content Block, a solution to define alternate content (like an image) which can be used in various situations where a consuming application might not be capable of interpreting what a producing application wrote, Book 3 §2.18.4. [68]
  • Internationalization support. For example date representation: In WordprocessingML (Book 4 §2.18.7) and SpreadsheetML (Book 4 §3.18.5), calendar dates can be written using Gregorian (three variants), Hebrew, Hijri, Japanese (Emperor Era), Korean (Tangun Era), Saka, Taiwanese, and Thai formats and for example several internationalization related spreadsheet conversion functions. [68]
  • Custom XML schema extensibility allowing implementations to the format with features. That can for instance facilitate conversion from other formats and future features that are not part of the official specification yet. [68]

Criticism

The standard has been the subject of wide and varied debate in the software industry. Many of the participants in the approval process are generally supportive of eventual ISO standardization, but are unwilling to support the ISO fast track process until their issues are resolved. Over 6000 pages long, the specification is difficult to quickly evaluate.[69][70] The existence of the OpenDocument format (ISO 26300:6000) raised the issue that there is overlap with this standard. Critics suggest Microsoft adopt the OpenDocument standard as its default format for future versions of Office [citation needed]. Objectors also complain that there could be user confusion regarding the two standards because of the similarity of the "Office Open XML" name to both "OpenDocument" and "OpenOffice".[71]' Microsoft, whose products use the current version of Office Open XML has not committed to use the specification for any length of time. But according to a Techworld article "But to organisations that need a well-defined, XML-based format to manage huge numbers of documents that may be archived for decades, this is important. These customers want a standard that Microsoft will promise to use - even if it’s not convenient for the company’s plans."[72] Brian Jones, the Microsoft manager working on OOXML in his blog stated "We’ll of course stay active and propose changes based on where we want to go with Office 14. At the end of the day, though,the other Ecma members could decide to take the spec in a completely different direction. Now my impression is that won't happen, as the folks on the TC all have pretty similar visions for the future of the spec, but since it's not guaranteed it would be hard for us to make any sort of official statement"

Sources of criticism

Criticism originates from a wide variety of organizations and individuals, including the free software and open source communities, FFII, OpenDocument supporters[73] and major industry players that develop Office software around Opendocument, such as Sun Microsystems[74], Novell [75], IBM[76], Noooxml, and Google[77].

Office Open XML has been widely criticized by these organisations on technical and legal grounds.

There is also criticism that the proposed standard duplicates, overlaps with, and is unable to be merged with the existing ISO standard, ISO/IEC 26300:2006 Open Document Format for Office Applications[citation needed].

In addition, the standardization process itself has been questioned, including with regard to balloting irregularities by some technical committees, Microsoft representatives and Microsoft partners in trying to get Office Open XML approved. FFII launched a campaign against this standard.

  • The scope of the patent licensing only covers a portion of the standard that an implementer requires. Specifically Microsoft's Covenant not to sue grants patent use of claims "that are necessary to implement only the required portions of the Covered Specification that are described in detail and not merely referenced in such Specification." Also Microsoft's Open Specification Promise only protects what is explicitly specified in the standard and does not cover every other possible fileformat that you can embed in an Office Open XML document. [78]
  • The Open Specification Promise is not available in languages other than English and tied to an Anglo-Saxon legal system. It is untested in court. [citation needed]

Technical criticisms

  • Reliance on application-defined behaviors to support important functionality that should be documented or supported via existing standards. Book 4 §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".[71]
  • Locale conventions (such as decimal points, date formats, and character settings) are inconsistent. SpreadsheetML documents are internally represented in the US English locale, but font types such as "bold" can be specified in any language (e.g. "gras" in French), even though the specification does not provide a list of equivalents in different languages.[79]
  • Non-standard language codes and color names.[71]
  • SpreadsheetML stores dates in decimal time as the number of fractional days since 1900. It incorrectly treats 1900 as a leap year in order to remain backward compatible with previous versions of Microsoft Excel and Lotus 1-2-3.[80] The criticism is twofold; only dates after the nonexistent Gregorian date 1900-02-29 can be used, and it ignores the ISO 8601 standard for the representation of time and date.
  • Use of DrawingML and the deprecated VML instead of SVG[81], and use of Office Math ML instead of MathML. MathML and SVG are W3C recommendations. VML was submitted as a W3C standard in 1997 but got rejected.
  • Internal inconsistencies and omissions. Book 4 §2.18.4 lists styles such as "apples", "scaredCat", and "heebieJeebies", but does not fully define these styles. Missing properties include height, width, color depth, and orientation.[71]
  • Inconsistent notations for percentage units. Book 4 §2.18.85 uses predefined symbols (like "pct15" for 15%) in 5 or 2.5 percent increments, §2.15.1.95 uses a decimal number giving the percentage, §2.18.97 uses a number in fiftieths of a percent, and §5.1.12.41 uses a number in thousandths of a percent.[71]
  • Inflexible numbering format. Book 4 §2.18.66 describes a numbering format that is fixed to a few countries and contradicts both the W3C XSLT recommendation and Unicode ISO 10646 standard.[71]
  • Non-standard, inflexible paper size naming. Book 4 §3.3.1.61 define a "paperSize" attribute for which values 1 through 68 are predefined standard paper sizes such as A4 paper.[71]
  • Non-extensible bitmasks, some elements attributes are defined as bitmasks. Book 4 §2.8.2.16 "sig (Supported Unicode Subranges and Code Pages)" describes the <w:sig> element, the attributes of which are all bitmasks.[71] The bitmask actually represent values in ISO standards IS 9541-4 or 14496-22 [82]
  • Legacy document rendering compatibility is identified using (deprecated) tags. Book 4 §2.15.3.6, "autoSpaceLikeWord95", “useWord97LineBreakRules”, “useWord2002TableStyleRules", and §2.15.3.31, "lineWrapLikeWord6", and "suppressTopSpacingWP" for a 16-year-old version of WordPerfect.[71] These behaviors are not properly documented in the OOXML specification. (These items should only occur in OOXML documents that were converted from predecessor Microsoft Office documents).
  • Accessibility issues according to University of Toronto,[83] such as form fields not being associated with their labels, absence of a tabbing order for forms, and limitations in the use of alternative text descriptions of objects.
  • SpreadsheetML has an optional internal dependency, which require changes in multiple parts of the XML package for cell updates, with multiple ways to represent semantically identical cell data.[79]. Although this criticism is considered more in regards to Office 2007’s implementation[84]

Editorial criticisms

  • More than 10% of the examples used in the WordProcessingML part of the specification (300 of 2300) do not validate against the schema, indicating that the examples in specification have not been reviewed enough prior to becoming an Ecma standard[85]
  • Errors in the spreadsheet formula specifications confirmed by Microsoft.[86]
  • Examples use the Windows path convention, instead of the platform-agnostic URI convention[81]
  • the behavior of a some OOXML attributes are undefined, or only defined by an example[81]

References

  1. ^ a b "Ecma International approves Office Open XML standard" (Press release). Ecma International. December 7 2006. Retrieved 2006-12-08. {{cite press release}}: Check date values in: |date= (help)
  2. ^ "How to extract information from Office files by using Office file formats and schemas". Microsoft. 2007-03-27. Retrieved 2007-07-10.
  3. ^ Brian Jones (2007-01-25). "History of office XML formats (1998-2006)". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  4. ^ Telematics between Administrations Committee based on IDA expert group on open document formats (2004-05-25). "TAC approval on conclusions and recommendations on open document formats". IDABC - European eGovernment Services. Retrieved 2007-07-30.
  5. ^ George Ou (2007-04-27). "MS Office 2007 versus Open Office 2.2 shootout". ZDnet.com. Retrieved 2007-04-27.
  6. ^ Murray Sargent (2007-06-05). "Science and Nature have difficulties with Word 2007 mathematics". MSDN blogs. Retrieved 2007-07-31.
  7. ^ David Carlisle (2007-05-09). "XHTML and MathML from Office 2007". David Carlisle. Retrieved 2007-09-20.
  8. ^ Wouter Van Vugt (2007-08-13). "Open XML Explained e-book". Openxmldeveloper.org. Retrieved 2007-09-14.
  9. ^ Tom Ngo (December 11 2006). "Office Open XML Overview" (PDF). Ecma International. p. 6. Retrieved 2007-01-23. {{cite web}}: Check date values in: |date= (help)
  10. ^ "What is Ecma International". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  11. ^ "Microsoft Covenant Regarding Office 2003 XML Reference Schemas". Microsoft. Retrieved 2006-07-11.
  12. ^ "2 Escape Hatches in MS's Covenant Not to Sue". Groklaw. Retrieved 2007-01-29.
  13. ^ Berlind, David (November 28 2005). "Top open source lawyer blesses new terms on Microsoft's XML file format". ZDNet. Retrieved 2007-01-27. {{cite web}}: Check date values in: |date= (help)
  14. ^ "Microsoft Open Specification Promise". Microsoft. 2006-09-12. Retrieved 2007-04-22. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  15. ^ Baker & McKenzie (2006). "Standardization and Licensing of Microsoft's Office Open XML Reference Schema" (PDF). Baker & Mckenzie. Retrieved 2007-02-01. {{cite web}}: Unknown parameter |month= ignored (help)
  16. ^ a b Licensing conditions that Microsoft offers for Office Open XML
  17. ^ -Response Document- National Body Comments from 30-Day Review of the Fast Track Ballot for ISO/IEC DIS 29500 (ECMA-376) Office Open XML File Formats
  18. ^ IDABC - European eGovernment Services (2004). "European Interoperability Framework for pan-European eGovernment Services". Retrieved 2007-07-30.
  19. ^ "The new open standard safeguards the continued use of billions of existing documents". Ecma International. Retrieved 2007-01-28.
  20. ^ "TC45 - Office Open XML Formats". Ecma International. Retrieved 2007-02-08.
  21. ^ "TC45 - Office Open XML Formats". Retrieved 2007-10-31. {{cite web}}: Unknown parameter |Publiher= ignored (help)
  22. ^ a b c d e f g h i j "ISO/IEC JTC 1 Directives, 5th Edition, Version 2.0". iso. Retrieved 2007-01-28.
  23. ^ Explanatory report on Office Open XML Standard (Ecma-376) submitted to JTC 1 for fast-track
  24. ^ "Vote closes on draft ISO/IEC DIS 29500 standard" (Press release). International Organization for Standardization. September 4 2007. Retrieved 2007-09-04. {{cite press release}}: Check date values in: |date= (help)
  25. ^ "JTC 1/SC 34 - Upcoming work group and plenary meetings". JTC 1/SC 34. Retrieved 20071009. {{cite web}}: Check date values in: |accessdate= (help)
  26. ^ Dr. Istvan Sebestyen (Secretary General of Ecma International). "Ecma Office Open XML File Format comment review - Online portal to facilitate disposition of comments on ISO/IEC DIS 29500 ballots". Ecma International. Retrieved 2007-10-23.
  27. ^ JTC 1 P-Members
  28. ^ Alex Brown (BRM convenor) (2007-09-06). "OOXML - what just happened?".
  29. ^ "CT-173 meeting of 2007-07-16 By Rui Seabra". {{cite web}}: Text "author Rui Seabra (ANSOL - FSF europe)" ignored (help)
  30. ^ Pamela Jones. "Notes from Portugal on the July 16 meeting on ECMA-376".
  31. ^ Jason Matusow (Microsoft senior director of intellectual property) (2007-07-31). "Ecma Open XML and the Portuguese National Body". MSN blogs.
  32. ^ "Microsoft buys the Swedish vote on OOXML".
  33. ^ "Microsoft pressed partners in Sweden to vote for OOXML".
  34. ^ "Open XML - The Vote in Sweden".
  35. ^ Kim Haverblad (2007-08-30). "The Swedish OOXML vote has been declared invalid!". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  36. ^ ISOC.nl regrets absence of Netherlands decision on OOXML. Internet Society Netherlands press release, 17 August 2007.
  37. ^ FSFE formal objection to the UK14 meeting. Free Software Foundation Europe. 2007-08-13.
  38. ^ Appeal to the decision by Swiss Internet User Group. 14 August 2007.
  39. ^ Yusseri Yusoff (2007-09-04). "OOXML is not (yet) an ISO standard, as Malaysia votes "No" ... or did we?". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  40. ^ kgi (2007-09-04). "Cyprus votes Yes". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  41. ^ IDG: Microsoft planterade påtryckningar i Norge
  42. ^ BetaNews: Evidence of Microsoft Influencing OOXML Votes in Nordic States
  43. ^ Digi.no: Presset med brev-kampanje i OOXML-strid
  44. ^ "Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats (Version 3)". Microsoft. 2007-06-18. Retrieved 2007-09-04.
  45. ^ "Microsoft Office Open XML File Format Converter for Mac 0.2 (Beta)". Microsoft. July 31 2007. {{cite web}}: Check date values in: |date= (help)
  46. ^ sherjo (2006-12-6). "Converters Coming! Free and (Fairly) Fast". The Office for Mac Team Blog. Retrieved 2007-03-18. {{cite web}}: Check date values in: |date= (help)
  47. ^ Forbes (August 2, 2007). "Microsoft Delays Office for Mac Release".
  48. ^ "Apple - iWork - Pages". Retrieved 2007-07-08.
  49. ^ "Apple - iWork - Numbers". Retrieved 2007-07-08.
  50. ^ "Apple - iWork - Keynote". Retrieved 2007-07-08.
  51. ^ "OS X leopard Text Edit to Support Office 2007?". uneasysilence. Retrieved 2007-02-14.
  52. ^ ""iPhone User's Guide"" (PDF). Apple, Inc.
  53. ^ "OOXML/ODF beta for WordPerfect® Office now available". Corel. Retrieved 2007-10-04.
  54. ^ "Power Edit MS Word 2007 (DOCX) Support". Retrieved 2007-10-09.
  55. ^ "The dog that didn't bark". Rob Weir Personal Blog. Retrieved 2007-10-04.
  56. ^ "Download OpenOffice.org–OpenXML translator". Novell. Retrieved 2007-03-02.
  57. ^ "Issue 79123 - Integrate a first version of the import filter for ooxml wordprocessing documents". OpenOffice.org. Retrieved 2007-07-09.
  58. ^ "NeoOffice 2.2.1 for Mac OS X Released". trinity.neooffice.org. 2007-08-26. Retrieved 2007-10-09.
  59. ^ "docXConverter - Features". panergy. Retrieved 2007-01-31.
  60. ^ ""DocumentsToGo for PalmOS Premium Edition"". Dataviz.
  61. ^ "Datawatch Announces Availability of Monarch V.9.0; Supports Microsoft® Windows Vista™ and Extends Excel Capabilities". 2007-02-27. {{cite web}}: Unknown parameter |Author= ignored (|author= suggested) (help); Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  62. ^ Open XML community. "Hear what Ecma has to say about Open XML (paragraph: Key benefits of Open XML)". OpenXMLcommunity.org.
  63. ^ [1]
  64. ^ "Ecma Office Open XML File Formats overview".
  65. ^ -Response Document- National Body Comments from 30-Day Review of the Fast Track Ballot for ISO/IEC DIS 29500 (ECMA-376) Office Open XML File Formats
  66. ^ Interoperability, Choice and Open XML
  67. ^ Rick Jeliffe (2007-07-29). "(comment on) Can a file be ODF and Open XML at the same time ?". O'Reilly XML.com. Retrieved 2007-08-06.
  68. ^ a b c d e f g Cite error: The named reference ecma_tc45_white paper was invoked but never defined (see the help page).
  69. ^ "Six thousand pages, one month, no chance..." Retrieved 2007-02-03.
  70. ^ "I have seen the second complete copy of OOXML specification proposal". Retrieved 2007-10-18.
  71. ^ a b c d e f g h i "EOOXML objections". grokdoc. Retrieved 2007-01-02.
  72. ^ >"Microsoft won't commit to the open document standard it's pushing so hard".
  73. ^ ODF Alliance. "Office Open XML factsheet" (PDF). Retrieved 2007. {{cite web}}: Check date values in: |accessdate= (help)
  74. ^ Peter Korn (Sun) (2007-07-09). "Talking with Microsoft's Gray Knowlton about MSOXML accessibility". {{cite web}}: Unknown parameter |Pbulisher= ignored (help)
  75. ^ ZDNet.co.uk (2007-09-26). "Killing Microsoft's Clippy with open source". Retrieved 2007-10-04.
  76. ^ "IBM Comments on INCITS LB 2212 - DIS 29500". {{cite web}}: Unknown parameter |Publisher= ignored (|publisher= suggested) (help)
  77. ^ "Preliminary Google reply to DIS 29500" (PDF).
  78. ^ Achieving Openness: A Closer Look at ODF and OOXML
  79. ^ a b Stéphane Rodriguez (August 28, 2007). "OOXML is defective by design".
  80. ^ Spolsky, Joel (2006-06-16). "My First BillG Review". Joel on Software. Retrieved 2007-01-31. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  81. ^ a b c Kosek, Jiří (2007-08-02). "Czech comments to OOXML (translated in English)". Retrieved 2007-10-18. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  82. ^ "DIS9500 comments Autralia-13".
  83. ^ Stephen A. Hockema, Jutta Treviranus (2007-08-07). "Accessibility Issues with Office Open XML". University of Toronto.
  84. ^ Miquel de Icaza. "Except he doesnt".
  85. ^ "WordprocessingML Reference Material". ooxml-wiki. British Standards Institution. Retrieved 2007-09-15.
  86. ^ Brian Jones. "Spreadsheet formula bugs". MSDN blogs.

See also

General Office Open XML

Converters and tools