Interoperability Guidelines

[: The following interoperability guidelines incorporate semantics (Item 3 in §2.3 above).

For the guidelines to be meaningful, a software application should be accompanied by publicly available documentation that describes what subset of this Standard it supports. The documentation should highlight any behaviors that would, without that documentation, appear to violate the semantics of document elements. Together, the application and documentation should satisfy the following conditions.

  1. The application need not implement operations on all elements defined in this Standard. However, if it does implement an operation on a given element, then that operation should use semantics for that element that are consistent with this Standard.

  2. If the application moves, adds, modifies, or removes element instances with the effect of altering document semantics, it should declare the behavior in its documentation.

The following scenarios illustrate these guidelines.

  • A presentation editor that interprets the preset shape geometry “rect” as an ellipse does not observe the first guideline because it implements “rect” but with incorrect semantics.

  • A batch spreadsheet processor that saves only computed values even if the originally consumed cells contain formulas, may satisfy the first condition, but does not observe the second because the editability of the formulas is part of the cells’ semantics. To observe the second guideline, its documentation should describe the behavior.

  • A batch tool that reads a word-processing document and reverses the order of text characters in every paragraph with “Title” style before saving it can be conforming even though this Standard does not anticipate this behavior. This tool’s behavior would be to transform the title “Office Open XML” into “LMX nepO eciffO”. Its documentation should declare its effect on such paragraphs. ]