Interoperability
Developers can write applications that consume and produce OpenXML on multiple platforms.
Foremost, the interoperability of OpenXML has been accomplished through extensive contributions, modification, and review of the Specification by members of the Ecma TC45 committee (1) with diverse backgrounds and corporate interests. Representation included:
-
Vendors (Apple, Intel, Microsoft, NextPage, Novell, and Toshiba) with multiple operating systems (Linux, MacOS, and Windows) and multiple intended uses of OpenXML
-
Corporations (BP, Barclays Capital, Essilor, Statoil) with heavy investments in existing content, including mission-critical transaction systems
-
The British Library and the United States Library of Congress, both of whom have direct interest in preservation
During preparation, committee members raised and resolved hundreds of issues regarding policy, clarity, semantics, and possible dependence on environment. Representative clusters of issues and other activity included:
-
Features to support platform independence of mechanisms that were proprietary in the original binary formats
-
Conditions for conformance
-
Contents of the schemas
-
Alternate representations for the schemas and extensibility mechanisms using RELAX NG (ISO/IEC 19757-2) and NVDL (ISO/IEC 19757-4) (4)
-
Development of tools for automatically analyzing and visualizing the schemas
-
Internationalization
-
Completeness, correctness, and clarity of descriptions throughout the Specification, in many cases as a result of attempting to implement portions of the Specification
The remainder of this subsection highlights specific areas in which OpenXML departs from the original binary formats for the sake of interoperability.
One of the central requirements for interoperability is independence from any particular type of source content.
-
OpenXML contains no restriction on image, audio or video types. For example, images can be in GIF, PNG, TIFF, PICT, JPEG or any other image type (§1:14.2.12).
-
Embedded controls can be of any type, such as Java or ActiveX (§1:15.2.8).
-
WordprocessingML font specifications can include font metrics and PANOSE information to assist in finding a substitution font if the original is not available (§3:2.10.5).
In addition, OpenXML avoids dependence on the run-time environment of the application that produced a document.
-
The classic example occurs with an external control or application that generates an image for a portion of the display surface. To guard against the case in which the control or application is unavailable or cannot run in a given run-time environment, the document file can contain an image representation. This mechanism exists in the older binary formats as well.
-
OpenXML introduces a more general mechanism called the Alternate Content Block (§3:2.18.4), which can be used in various situations where a consuming application might not be capable of interpreting what a producing application wrote. It is used commonly in the context of extensibility. This mechanism is described further in the subsection
“Room for Innovation”.
-
OpenXML avoids dependence on any parameter that is meaningful in a document producer’s environment, but may not be in the consumer’s environment. For example, the parameter CT_SYSCOLOR is an index into a color table in the producing environment. To support portability to a different consuming environment, PresentationML allows the producer to cache the system color that was in use at the time that a document was created.
Finally and most fundamentally, Office OpenXML conforms to open W3C standards such as XML (5) and XML Namespaces (6). This fact alone allows a base level of interoperability across all platforms and operating systems that adhere to these open standards.