Low Barrier to Developer Adoption

An experienced developer can begin to write simple OpenXML-conformant applications within a few hours of beginning to read the Specification.

Although the Specification describes a large feature set, an OpenXML-conformant application need not support all of features in the Specification. The Conformance statement (§1:2) requires merely that a conforming consumer “not reject any conforming documents of the document type [that it expects]” and that a conforming producer “be able to produce conforming documents” (§1:2.5). It also provides Interoperability Guidelines that state the role of element semantics (§1:2.6).

A conformant application can have extremely focused functionality. For example, it could be a batch processor that merely updates the copyright notices in a collection of word-processing documents, or a text-to-speech reader that understands enough of a slide presentation to render its text content in audio as the user navigates slide by slide. The structure of the file format allows such programs to be written with minimal knowledge of OpenXML. Specifically:

  • The file format conforms to well-established standards, especially XML and ZIP, for which mature tools exist.

  • The file format makes use of the Open Packaging Conventions, which combine XML and ZIP with standard mechanisms to express relationships within a file. Because of this,a file’s contents can often be navigated without knowledge of the tag semantics for any of the primary or supporting markup languages in OpenXML.

  • Elements deep in the XML tree can be accessed and modified without disturbing the rest of the structure.

Small details throughout the file formats, some of which were not present in the binary formats, support applications with minimal functionality by providing cached values. For example:

  • Without implementing a paginator, an application such as a reader for the blind could offer page navigation using last-calculated page breaks (§4:2.3.3.13).

  • Without implementing formulas and integrating with an external data source, a spreadsheet program could work from cached calculations (§3:3.2.9) and cached external data (§4:3.14 and §4:3.10.1.76).

A minimal conformant document is extremely simple; see the subsection“Minimal WordprocessingML Document”.