Definitions

Office_Open_XML

Office Open XML

Office Open XML (also referred to as OOXML or OpenXML) is a file format for representing spreadsheets, charts, presentations and word processing documents. An Office Open XML document file contains mainly XML based files compressed within a zip package.

The Office Open XML format specification has been approved as a free and open Ecma International standard. A newer improved version is approved as an ISO/IEC standard.

Microsoft originally developed the specification as a successor to its earlier binary and Office 2003 XML file formats. The specification was later handed over to Ecma International to be developed as the Ecma 376 standard, under the stewardship of Ecma International Technical Committee TC45. Ecma 376 was published in December 2006 and can be freely downloaded from Ecma International.

An amended version of the format, ISO/IEC DIS 29500 (Draft International Standard 29500), received the necessary votes for approval as an ISO/IEC Standard as the result of a JTC 1 fast tracking standardization process that concluded in April 2008. The current stage of ISO/IEC DIS 29500 is "FDIS registered for formal approval" (Final draft International Standard). Therefore next and last step in the standardization proces is the final publication as of ISO/IEC IS 29500, Information technology – Office Open XML formats as an international standard.

The Office Open XML file formats have become the default file format of the most popular Office suite starting with Microsoft Office 2007.

Background

Prior to the 2007 edition, the core applications of the Microsoft Office software suite (primarily Word, Excel, and PowerPoint) by default stored their data in binary files. Historically, these files were difficult for other applications to interoperate with, due to the lack of publicly available information and royalty-free access to the format specifications. More recently, Microsoft has offered these binary format specifications under a royalty-free covenant not to sue as part of its Open Specification Promise. While a level of support for the binary formats had been achieved by some applications, full interoperability remained elusive.

In 2000, Microsoft released an initial version of an XML-based format for Excel, which was incorporated in Office XP. In 2002, a new file format for Microsoft Word followed. The Excel and Word formats – known as the Office 2003 XML formats – were later incorporated into the 2003 release of Microsoft Office.

In May 2004, governments and the European Union recommended to Microsoft that they publish and standardize their XML Office formats through a standardization organization. Microsoft announced in November 2005 that it would standardize the new version of their XML-based formats through Ecma, as "Ecma Office Open XML".

File format and structure

Office Open XML uses a file package conforming to the Open Packaging Convention. This format uses mechanisms from 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 files such as images, videos, or other documents.

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
  • PresentationML for presentations

Shared markup language materials include:

  • Office Math Markup Language (OMML)
  • DrawingML used for vector drawing, charts, and for example, text art (additionally, though deprecated, VML is supported for drawing)
  • Extended properties
  • Custom properties
  • Variant Types
  • Custom XML data properties
  • Bibliography

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

The XML Schema of Office Open XML 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. To enhance performance, Office Open XML 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, 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 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.

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, footnotes, comments, images and elaborate formatting and styles. 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 through relatively simple XSL Transformations.

The following Office MathML example defines the fraction: frac{pi}{2}

 
   
     
       π
     
     
       2
     
   
 
DrawingML

DrawingML is the vector graphics markup language used in Office Open XML documents. 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.

DrawingML is unrelated to the other vector graphics formats such as 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.

Container structure

Office Open XML documents are stored in Open Packaging Convention (OPC) packages, which are ZIP files containing XML and other data files, along with a specification of the relationships between them. 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. [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. docProps/core.xml : This file contains the core properties for any Office Open XML document. word/document.xml : This file is the main part for any Word document.

Relationships

Relationship files in Office Open XML
An example relationship file (word/_rels/document.xml.rels), is:

xmlns="http://schemas.microsoft.com/package/2005/06/relationships">

 
   Type="http://schemas.microsoft.com/office/2006/relationships/image"
   Target="http://en.wikipedia.org/images/wiki-en.png"
   TargetMode="External" />
 
   Type="http://schemas.microsoft.com/office/2006/relationships/hyperlink"
   Target="http://www.wikipedia.org"
   TargetMode="External" />

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.

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

xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"

 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">

In this example, the Uniform Resource Locator (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:

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.

Document properties

Office Open XML uses the Dublin Core Metadata Element Set and DCMI Metadata Terms to store document properties. Dublin Core is a standard for cross-domain information resource description and is defined in ISO 15836:2003
Core properties
An example document properties file (docProps/core.xml) that uses Dublin Core metadata, is:

xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"

 xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 Office Open XML
 File format and structure
 Wikipedia
 Office Open XML, Metadata, Dublin Core
 Office Open XML uses ISO 15836:2003
 Wikipedia
 1
 2008-06-19T20:00:00Z
 2008-06-19T20:42:00Z
 Document file format
 Final

Structure of the standard

To aid the reader's understanding, the Office Open XML specification contains both normative material and informative material. It is structured in five parts to meet the needs of different audiences.

  • Part 1: Fundamentals
    • Vocabulary, notational conventions and abbreviations
    • Summary of primary and supporting markup languages
    • Conformance conditions and interoperability guidelines
    • Constraints within the Open Packaging Conventions that apply to each document type
  • Part 2: Open Packaging Conventions
  • Part 3: Primer
    • Informative (non-normative) introduction to WordprocessingML, SpreadsheetML, PresentationML, DrawingML, 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 and attributes by which applications with different extensions can interoperate
    • Extensibility rules are expressed using NVDL (ISO/IEC 19757-4)

Licensing

Reasonable and Non Discriminatory

Ecma International provides specifications that "can be freely copied by all interested parties without restrictions". Under the Ecma code of conduct in patent matters, participating and approving member organisations are required to make available their patent rights on a Reasonable and Non Discriminatory (RAND) basis. While making patent rights available on a RAND basis is considered a common minimum patent condition for a standard, international standardization has a clear preference for royalty-free patent licensing. That is why Microsoft, a main contributor to the standard, provided a Covenant Not to Sue for its patent licensing. The covenant received a mixed reception, with some (like the Groklaw blog) identifying problems and others (such as Lawrence Rosen, an attorney and lecturer at Stanford Law School) endorsing it.

Open Specification Promise

Microsoft also added the format to their Open Specification Promise in which

"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 […]"

subject to certain restrictions. Office Open XML can therefore be used under the Covenant Not to Sue or the Open Specification Promise.

The Open Specification Promise was included in documents submitted to ISO in support of the Ecma 376 fast track submission. Ecma International asserted that, "The OSP enables both open source and commercial software to implement [the specification]."

In support of the licensing arrangements Microsoft commissioned an analysis from the London legal firm Baker & McKenzie.

Several standards and OSS licensing experts expressed support in 2006 of the OSP. A 2006 article in Cover Pages quotes Lawrence Rosen, an attorney and lecturer at Stanford Law School, as saying,

"I'm pleased that this OSP is compatible with free and open source licenses.
In 2006, Mark Webbink; a lawyer and member of the board of the Software Freedom Law Center, and former employee of Linux vendor Red Hat; has said,

"Red Hat believes that the text of the OSP gives sufficient flexibility to implement the listed specifications in software licensed under free and open source licenses. We commend Microsoft’s efforts to reach out to representatives from the open source community and solicit their feedback on this text, and Microsoft's willingness to make modifications in response to our comments.

Standards lawyer Andy Updegrove said in 2006 the Open Specification Promise was

"[…] what I consider to be a highly desirable tool for facilitating the implementation of open standards, in particular where those standards are of interest to the open source community.

On March 12, 2008 the Software Freedom Law Center, which provides services to protect and advance free software and open source software, has warned of problems with the Open Specification Promise as it relates to Office Open XML and the GNU General Public License (GPL). In a published analysis of the promise it states that

*"Any code that implements the specification may also do other things in other contexts, so in effect the OSP does not cover any actual code, only some uses of code."
*"...it permits implementation under free software licenses so long as the resulting code isn't used freely."
*"The OSP cannot be relied upon by GPL developers for their implementations not because its provisions conflict with GPL, but because it does not provide the freedom that the GPL requires."

Microsoft amended the OSP FAQ to specifically assure GPL license users that the open licensing of its covered formats through the Open Specification Promise applies to users of the GPL license when implementing covered implementations:

"The OSP provides the assurance that Microsoft will not assert its Necessary Claims against anyone who make, use, sell, offer for sale, import, or distribute any Covered Implementation under any type of development or distribution model, including the GPL.

Legal experts and academics have confirmed that the licensing is similar to the licensing terms offered by IBM, and to a lesser extent Sun and Adobe on their Office formats but warned that ambiguous legal jargon contained in Microsoft's Open Specification Promise, although understood in the terminology of the specialist patent and intellectual property law community, makes it hard for small developers to determine with certainty that Microsoft will not be entitled to sue them for using OOXML. They criticize Microsoft for not explicitly defining which parts of its 6000 page OOXML specification contains intellectual property. The OSP has never been tested in a court of law regarding intellectual property rights, and the OSP does not name which court or jurisdiction a dispute will be heard in. David Vaile, executive director of the Cyberspace Law and Policy Centre at the University of New South Wales, acknowledges that the Microsoft approach to its Open Specification Promise is similar although not identical to other approaches used by IBM, and to a lesser extent Adobe and Sun, and that these represent a substantial advance on the past practice of negotiating long case-by-case agreements.

Standardization

Microsoft's Office Open XML is currently an Ecma standard (Ecma-376, approved on 7 December 2006). Ecma 376 was created using as a basis a new version of the Microsoft Office 2003 XML file format, donated by Microsoft, which was being created for Microsoft Office 12.

The specification entered fast-track standardization within ISO/IEC as DIS 29500 (Draft International Standard 29500). In a September 2007 vote by ISO/IEC member bodies, the draft text was not approved as an international standard. A ballot resolution process in March 2008 amended the text.

On April 2, 2008, ISO and IEC officially stated that the DIS 29500 had been approved for acceptance as an ISO/IEC Standard, pending any appeals. In accordance with the JTC 1 directives the Project Editor created a new version with the final text within a month after the BRM, to be published as ISO/IEC 29500. After review and corrections this text has been distributed to the members of SC34.

The voting process of some national standardization bodies has become subject to controversy, due to alleged voting irregularities.

On May 21st, 2008, Microsoft announced that it will be an active participant in the future evolution of the Office Open XML standard.

In october 2008 ISO/IEC committee JTC1/SC34 (Document Description and Processing Languages) created a working group for maintenance of the ISO/IEC 29500 standard within ISO/IEC.

Application support

The list here is not exhaustive. A More exhaustive list of supporting/partial implementations of Office Open XML can be found on Microsoft's office open XML Community website

Ecma 376 implementations

The current Ecma 376 specification of Office Open XML is the default format in Microsoft Office 2007.

For older versions of Office (2000, XP and 2003) a compatibility pack is provided. It is available for Windows 2000 Service Pack 4 and newer operating systems. The compatibility pack does not require Microsoft Office, but does require Microsoft Windows. It can be used as a standalone converter with products that read Office's older binary formats, such as OpenOffice.org.

  • Microsoft Office 2008 for Mac supports the Office Open XML format. For older versions of Office on the Mac, a converter is available.
  • Microsoft Office Mobile 6.1 supports Office Open XML on Mobile devices.
  • Adobe Buzzword, the online word processor by Adobe Systems, imports and exports Microsoft Word (DOC and DOCX) and Word 2003 XML files.
  • Apple Inc.'s iWork '08 suite has read-only support for Office Open XML word processing, spreadsheet and presentation file formats in Pages, Numbers and Keynote (respectively).
  • Apple Inc.'s iPhone has read-only support for Office Open XML attachments to email.
  • Apple Inc.'s TextEdit, the built-in word processing program of Mac OS X, has read and write support for Office Open XML files starting with Mac OS X v10.5.
  • Altova's MapForce includes support for data integration based on the Office Open XML spreadsheet data format.
  • Altova's StyleVision adds Word 2007 (Office Open XML) wordprocessing capabilities to its graphical stylesheet design tool.
  • Altova's DiffDog supports detailed differencing for Office Open XML and ZIP archive file pairs.
  • The online Thinkfree Office supports Office Open XML word processing files, and will support spreadsheets and presentation files in the future.
  • AbiWord includes an input filter for Office Open XML documents beginning with version 2.6.0.
  • Corel WordPerfect Office X4 includes extensive support for Office Open XML.
  • Gnumeric has limited SpreadsheetML support.
  • QuickOffice, a mobile office suite for Symbian and Palm OS, supports wordprocessing and spreadsheets in Office Open XML format.
  • DataViz' DocumentsToGo for PalmOS supports Office Open XML documents.
  • Datawatch supports Office Open XML spreadsheets in its report mining tool Monarch v9.0.
  • docx4all is an open source wordprocessor (GPL license), written in Java's Swing, which uses docx4j to edit docx documents.
  • docx4j is an open source library (Apache license) which provides Java support for the WordprocessingML component of Office Open XML.
  • Intergen has released a Silverlight plugin that allows Office Open XML word processing files to be viewed within a web browser.
  • OpenOffice.org supports Office Open XML import when used with the OpenXML/ODF Translator for OpenOffice The translator works with SuSe Linux, some versions of (K)ubuntu and Novell OpenOffice.org 2.3 for Microsoft Windows. It can be used from the command line.
  • The Mac OS X-based NeoOffice office suite supports opening, editing, and saving of most Office Open XML documents since version 2.1.
  • OpenXML Writer is an open source text editor for creating WordprocessingML files.
  • Online word processor Zoho Writer supports exporting to the Office Open XML WordprocessingML format.
  • Oxygen XML Editor allows you to extract, validate, edit and process the XML data stored in Office Open XML files. These capabilities allow developers to use data from Office 2007 documents together with validation and transformations (using XSLT or XQuery) to other file formats. Validation is done using the latest Ecma 376 XML Schemas.
  • Xpertdoc Studio is a document merge and assembly product which generates Office Open XML WordprocessingML files from any platform supporting the .NET Framework or the Java programming language.
  • TX Text Control, a family of reusable wordprocessing components for developers support reading and writing of Office Open XML wordprocessing files.

Filters and converters

  • Microsoft has created Office Open XML Converter for Mac OS X that can convert Office Open XML files to the former binary file formats used in older versions of Microsoft Office.
  • OxygenOffice includes xmlfilter which is the code that OpenOffice.org 3 will use to process Office Open XML files, and xmlfilter is completely different than OdfConverter. This filter however is only for importing Office Open XML files not for exporting them.
  • docXConverter by Panergy Ltd. converts from WordprocessingML to Rich Text Format (RTF) and from SpreadsheetML to Comma-separated values (CSV). docXConverter can be used to transfer WordprocessingML data to other applications that read RTF data such as Word 97.
  • Microsoft and Sonata Software created a plugin to convert Office Open XML text documents to DAISY XML, an open standard format used for creating spoken document for disabled people.
  • Google search supports direct HTML view of Office Open XML files. Found files can be viewed directly in a converted HTML view.
  • OpenXML Document Viewer is an open source command line utility that provides Office Open XML to HTML transformation to display WordprocessingML files in web browsers.
  • DataViz MacLinkPlus Deluxe 16 supports Office Open XML file formats.

Other products

  • Altova XMLSpy, an XML editor for modeling, editing, transforming, and debugging XML technologies supports Office Open XML file formats.
  • Aspose's File Format Components for .NET & Java support Office Open XML file formats.
  • FarPoint Spread for Microsoft BizTalk Server supports Office Open XML file formats.
  • Heartsome Translation Studio, a Java-based cross-platform Computer Assisted Translation tool supports translation of Office Open XML files through strict XLIFF 1.2 open standard.
  • IBM DB2 Content Manager V8.4 clients support Office Open XML file formats.
  • IBM Lotus Quickr V8.0 includes support for Office Open XML documents.
  • Nuance OmniPage Professional 16, an OCR and Document Conversion Software, was the first desktop OCR application to provide native support for the Office Open XML standard.
  • Open XML Package Explorer supports browsing Office Open XML packages and subpackages, creating packages and parts using templates as well as creating internal and external relationships and digital signatures. It can display Dublin Core properties and validate package XML and custom XML using custom schemas.
  • Oxygen XML Editor provides ready to use validation, editing and processing support for Microsoft Office 2007 - Office Open XML (OOXML).
  • RIM BlackBerry Enterprise Server software version 4.1 SP4 (4.1.4) supports Office Open XML file formats.
  • Swordfish Translation Editor, a cross-platform CAT (Computer Assisted Translation) tool based on XLIFF 1.2 open standard published by OASIS that provides support for translation of Office Open XML files.
  • Workshare Professional 5 supports comparison of Office Open XML file formats.

Planned and beta software

  • ExtenXLS will support Office Open XML in the forthcoming 7.0 release, which is aiming for a Q4 2008 release.
  • Apache POI will support Office Open XML in the forthcoming 3.5 release, currently in alpha, which is aiming for a summer release.
  • OpenOffice.org 3.0 Beta has read-only Office Open XML support (importing).
  • Unified Office Format (UOF) Open Source Translator is being developed by Beihang University and partners to convert from Office Open XML to UOF and vice versa.

ISO/IEC 29500 implementations

Microsoft has stated that Microsoft Office 14 will be the first version of Microsoft Office to support ISO/IEC 29500, though no release date has been announced.

On July 28, 2008 Murray Sargent, a software development engineer in the Microsoft Office team confirmed that Word 2007 will have a service pack release that enables it to read and write ISO standard OOXML files.

Microsoft, whose products currently only support the Ecma 376 standard version of Office Open XML, has committed to using the ISO/IEC 29500 standard in their products and has also committed to participate in the maintenance of this standard.

In a Zdnet article Alex Brown, leader of the ISO/IEC group in charge of deciding maintenance processes for any ISO/IEC 29500 Standard, stated

"I am hoping that Microsoft Office will shortly be brought into line with the [ISO/IEC] 29500 specification, and will stay that way".

On March 13, 2008 Doug Mahugh, a Senior Product Manager at Microsoft specializing in Office client interoperability and the Open XML file formats confirmed that version 1.0 of the Open XML Format SDK

"will definitely be 100% compliant with the final ISO/IEC 29500 spec, including the changes accepted at the BRM".

In a ComputerWorld interview from 2008, Doug Mahugh said that

"Microsoft would continue to update the SDK to make sure that applications built with it remained compliant with an Open XML standard as changes were made in the future".

Implementations

  • Microsoft Open XML Format SDK contains a set of managed code libraries to create and manipulate Office Open XML files programmatically. Version 1.0 was released on June 10, 2008 and incorporates the changes made to the Office Open XML specification made during the current ISO/IEC standardization process. Version 2 of the Open XML SDK supports validating Office Open XML documents against the Office Open XML schema, as well as searching in Office Open XML documents.
  • PowerTools for Open XML, a set of free open source cmdlets for Windows PowerShell to create and manipulate Office Open XML files at the command line or using shell scripts.

Criticism

The ODF Alliance UK Action Group says that with OpenDocument an ISO-standard for Office files already exists and that two competing standards are against the very concept of a standard. Further, they argue that the Office Open XML file-format is heavily based on Microsoft's own Office applications and is thus not vendor-neutral, and that it has inconsistencies with existing ISO standards such as time and date formats and color codes.

Specific criticism

  • Use of DrawingML and the transitional-use-only VML instead of W3C recommendation SVG. VML did not become a W3C recommendation.
  • Use of Office Math ML instead of W3C recommendation MathML.
  • Office Open XML does not define a macro language, leaving this aspect to be application-defined.
  • The standard is long, with the version submitted to ISO comprising 6546 pages. Google alleges that this length is unnecessary, saying that the OpenDocument specification is 867 pages in length and achieves the same goals. That coupled with the fast track standardization process, Google claims, reduces the review time per page ratio.
  • A comparison of some specific items in the format specification documents of Office Open XML and OpenDocument formats is used to claim disharmony within the Office Open XML format.

See also

References

External links

Search another word or see Office_Open_XMLon Dictionary | Thesaurus |Spanish
Copyright © 2014 Dictionary.com, LLC. All rights reserved.
  • Please Login or Sign Up to use the Recent Searches feature