ODF 1.1 Interoperability Profile v1.0
Committee Draft 03
29 June 2010
OASIS Open Document Format Interoperability and Conformance TC
Bart Hanssens, Fedict
Bart Hanssens, Fedict
This specification is related to:
OASIS ODF v1.1
OASIS ODF v1.2 part 1 CD04
Declared XML Namespace(s):
This specifications describes an interoperability profile on top of ODF 1.1.
This document was last revised or approved by the OASIS OIC TC on the above date. The level of approval is also listed above. Check the "Latest Version" or "Latest Approved Version" location noted above for possible later revisions of this document.
Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/oic/.
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/oic/ipr.php).
The non-normative errata page for this specification is located at http://www.oasis-open.org/committees/oic/.
Copyright © OASIS® 2009-2010. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The names "OASIS", "ODF", "Open Document Format", "OIC TC", "ODF Interoperability and Conformance TC" are trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
Table of Contents
ODF 1.1 is widely implemented, but there are areas where the specification is not clear or not complete. As a result of this ambiguity, interoperability issues arise when exchanging documents between different implementations.
ODF is also very flexible, leaving a great degree of freedom for implementing - or not implementing - certain features and using supplementary objects of various types. However, from an interoperability point of view, this flexibility calls for a common denominator. This document aims to clarify and formalize interpretations of the ODF 1.1 specification, by creating an Interoperability Profile.
This Interoperability Profile does not add new features to ODF 1.1 (although some implicit features may be clarified), nor does it remove existing conformance clauses. It does, however, add more conformance constraints.
Within this specification, the key words "shall", "shall not", "should", "should not" and "may" are to be interpreted as described in Annex H of [ISO/IEC Directives] if they appear in bold letters.
Application in this context does not refer to a software product like an office suite. In this context, the broader term implementation is used instead of software product.
ODF Implementation: implementation using ODF as (a) storage format. This may be a general office suite or a specialist application and can be installed as part of a network service (like - but not limited to - a webbased editor) or as a stand-alone application on a computing device (like - but not limited to - a PC, netbook, PDA, cell phone...)
ODF Document (ODF-Doc): Conforming [ODF] document that may or may not conform to the Interoperability Profile outlined in this document
ODF 1.1 Interoperability Profile Conformant Document (ODF1.1i-Doc): Conforming [ODF 1.1] document that also conforms to the Interoperability Profile outlined in this document
ODF 1.1 Interoperability Profile Conformant Producer (ODF1.1i-Prod): ODF Implementation capable of producing ODF1.1i-Doc files and conforming to the Producer Conformance Clauses outlined in this specification.
ODF 1.1 Interoperability Profile Conformant Consumer (ODF1.1i-Cons): ODF Implementation capable of consuming ODF 1.1 files and conforming to the Consumer Conformance Clauses outlined in this specification.
ODF 1.1 Interoperability Profile Conformant Implementation (ODF1.1i-Impl): a ODF1.1i-Cons or ODF1.1i-Prod or a combination of both.
User: a human who or system that interacts with an ODF1.1i-Impl
[ISO/IEC Directives] ISO/IEC Directives, Part 2 Rules for the structure and drafting of International Standards, International Organization for Standardization, 2004
[ODF 1.1] OASIS Standard, "OpenDocument Format for Office Applications (ODF) Version 1.1", February 2007. http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1-html/OpenDocument-v1.1.html
[ODF 1.2] OASIS Committee Draft 04, "OpenDocument Format for Office Applications (ODF) Version 1.2, Part 1: Introduction and OpenDocument Schema", December 2009. http://docs.oasis-open.org/office/v1.2/part1/cd04/OpenDocument-v1.2-part1-cd04.html
[OFF] OASIS Committee Draft 01, "OpenDocument Format for Office Applications (ODF) Version 1.2, Part 2: Recalculated Formula (OpenFormula) Format", March 2009. http://www.oasis-open.org/committees/download.php/36769/OpenDocument-v1.2-part2-cd01.zip
Conformance and interoperability are two distinct (but related) topics. It is assumed that increasing the number of strict conformance clauses improves interoperability by reducing the number of interpretations.
Therefore, this ODF 1.1 Interoperability Profile does not replace or remove any of the existing conformance clauses listed in [ODF 1.1]
Note that this document starts out rather small, but is expected to be updated frequently. Using this approach, one does not have to wait until the next version of the ODF specification arrives (a process that can take several years) to clear out the details of implementing [ODF 1.1].
This also means that, when referring to the Interoperability Profile as a normative reference, one should always mention the version number and date of approval of the Interoperability Profile.
OASIS Specification, "ODF 1.1 Interoperability Profile v1.23", May 2010
Care shall be taken that new versions of this document do not contradict earlier versions of the Interoperability Profile and/or the [ODF 1.1] itself.
Whenever feasible, the Interoperability Profile shall make use of clarifications and/or additional conformance clauses within [ODF 1.2]. That is, if they can be applied to [ODF 1.1] without violating requirements of [ODF 1.1] or the Interoperability Profile.
The rest of this document consists of conformance clauses.
(G1-1) ODF1.1i-Doc shall conform to all "shall" requirements of [ODF 1.1]
(G1-2) ODF1.1i-Doc shall conform to all ODF1.1i-Doc "shall" requirements of this Interoperability Profile
(G1-3) ODF1.1i-Impl shall conform to all ODF1.1i-Impl "shall" requirements of this Interoperability Profile specification
(G1-4) ODF1.1i-Cons shall conform to all ODF1.1i-Cons "shall" requirements of this Interoperability Profile specification
(G1-5) ODF1.1i-Prod shall conform to all ODF1.1i-Prod "shall" requirements of this Interoperability Profile specification
(G1-7) ODF1.1i-Prod shall produce ODF1.1i-Doc when instructed by the User
Conformance when using / converting ODF-Doc:
(G2-1) ODF1.1i-Impl may inform the User that an ODF-Doc is not a ODF1.1i-Doc
(G2-2) ODF1.1i-Impl may convert ODF-Doc to ODF1.1i-Doc, when doing so the ODF1.1i-Impl shall follow the steps outlined in the "Conversion conformance (ODF-Doc to ODF1.1i-Doc)" sections of this Interoperability Profile
(G2-3) ODF1.1i-Impl converting ODF-Doc to ODF1.1i-Doc shall inform the User when this conversion may lead to data loss, unless the User has specifically instructed the ODF1.1i-Impl to do a silent conversion
The numbering (between parentheses) of the following specific clauses matches the numbering of the [ODF 1.1] specification.
(S1.5-1) ODF1.1i-Impl shall preserve the elements and element content within the <office:meta> element unless specifically instructed otherwise by the User
(S1.7-1) ODF1.1i-Doc shall be contained in a package.
(S1.7-2) ODF1.1i-Doc shall contain the MIME-type as outlined in Appendix C of the [ODF 1.1] specification.
(S1.7-3) ODF1.1i-Doc files shall be stored using the filetype extensions outlined in Appendix C of the [ODF 1.1] specification.
(S2.1-1) ODF1.1i-Doc shall be represented as a collection of several subdocuments within a package
(S2.1-2) ODF1.1i-Doc shall contain at least the <office:document-content>, <office:document-styles> and <office:document-meta> subdocuments.
(S2.1.2-1) ODF1.1i-Doc shall contain an office:version attribute, which value shall be "1.1"
(S2.2.1-1) ODF1.1i-Impl shall preserve all <meta:user-defined> elements within <office:meta> unless specifically instructed otherwise by the User, even if the ODF1.1i-Impl does not support those user defined metadata elements
(S3.1-1) within the <office:meta> element, ODF1.1i-Doc shall not contain more than one <dc:title>, <dc:description>, <dc:subject>, <meta:initial-creator>, <dc:creator>, <meta:creation-date>, <dc:date>, <meta:template>, <meta:auto-reload>
(S3.1-2) ODF1.1i-Impl shall preserve the content of all <meta:keyword> and <meta:user-defined> elements unless specifically instructed otherwise by the User
(S3.1-3) ODF1.1i-Prod shall provide the User a means to create/read/update/delete the content of all <meta:keyword> elements
(S3.1-4) ODF1.1i-Prod shall provide the User a means to create/read/update/delete the content of the <dc:title>, <dc:description> element
(S3.1-5) ODF1.1i-Cons shall provide the User a means to read the content of all <meta:keyword> elements
Conversion conformance (ODF-Doc to ODF1.1i-Doc):
(S3.1-6) within the <office:meta> element, ODF1.1i-Impl shall preserve the content of only the last <dc:title>, <dc:description>, <dc:subject>, <meta:initial-creator>, <dc:creator> and <meta:creation-date> elements
(S3.1.1-1) ODF1.1i-Doc shall contain exactly one <meta:generator> element.
(S3.1.1-2) The (text string) contents of this element shall match the definition for user-agents as specified in section 14.43 of RFC 2616 and shall include name and version information identifying the last ODF producer that persisted the document.
(S3.1.1-3) ODF1.1i-Prod shall provide an identifier string as outlined above.
Conversion conformance (ODF-Doc to ODF1.1i-Doc):
(S3.1.1-4) ODF1.1i-Impl shall remove all <meta:generator> elements and shall add one <meta:generator> element as described above
(S3.1.5-1) ODF1.1i-Prod shall provide the User a means to create/read/update/delete the content of all <meta:keyword> elements
(S3.1.5-2) ODF1.1i-Cons shall provide the User a means to read the content of all the <meta:keyword> elements
(S3.1.6-1) when creating a new document, ODF1.1i-Prod shall either set the content of the <meta:initial-creator> automatically, or provide the User a means to create the content
(S3.1.17-1) ODF1.1i-Impl supporting <meta:editing-duration> shall interpret the meaning of "total time spent editing the document" in [ODF 1.1] as "total accumulated wall clock time spent editing the document"
(S3.1.17-2) ODF1.1i-Impl may assume that 1Y equals 365D and 1M equals 30D
(S3.1.17-3) ODF1.1i-Prod supporting <meta:editing-duration>shall not produce durations containing non-zero year (Y) or month (M) components
(S3.1.17-4) ODF1.1i-Cons supporting <meta:editing-duration>shall be able to parse durations where the year (Y) component is zero (0) and shall be able to parse durations where the month (M) component is zero (0)
(S4.6-1) ODF1.1i-Cons that do not support change tracking shall hide the content of <text:tracked-changes> element from the User
(S8.1.3-1) ODF1.1i-Doc table:formula attribute values shall begin with a namespace prefix specifying the syntax and semantics used within the formula, the formula itself shall begin with an equal sign (=)
(S8.1.3-2) ODF1.1i-Doc formula function parameters shall be enclosed within round brackets
(S8.1.3-3) ODF1.1i-Impl supporting formulas shall support at least the limits mentioned in [OFF] 3.6 Basic Limits
Conversion conformance (ODF-Doc to ODF1.1i-Doc):
(S8.1.3-4) ODF1.1i-Impl shall preserve the value of table:formula attribute if the formula belongs to a namespace not supported by the ODF1.1i-Impl, unless the table cell value has been changed by the User
(S8.1.3-5) ODF1.1i-Cons supporting formulas may treat formulas not beginning with a namespace prefix as an [OFF] formula
Conformance once [OFF] is approved:
(S8.1.3-6) ODF1.1i-Doc shall only contain [OFF] in table:formula attributes
(S8.1.3-7) ODF1.1i-Cons supporting formulas shall support [OFF], they may treat formulas not beginning with a namespace prefix as an [OFF] formula
(S8.1.3-8) ODF1.1i-Prod supporting formulas shall use the [OFF] namespace mentioned in [OFF] 1.3 Namespace
(S9.3.3-1) ODF1.1i-Doc <draw:object> elements using the xlink:href attribute to link to a subpackage, shall use a trailing slash in the value of this attribute
(S9.3.3-2) ODF1.1i-Doc <draw:object> elements should contain at least one [SVG] or [PNG] preview image
(S9.3.3-3) ODF1.1i-Impl supporting objects, shall support linking to objects contained in the same package
(S9.3.3-4) ODF1.1i-Cons supporting the object shall consume this object instead of the preview image(s) if the <draw:object> does not contain at least one preview image which format is supported by the ODF1.1i-Cons. It is up to the ODF1.1i-Cons to select which of the preview images is/are used when the <draw:object> contains multiple supported preview images.
Conversion conformance (ODF-Doc to ODF1.1i-Doc):
(S9.3.3-5) if the object is stored in a subpackage, ODF1.1i-Cons supporting the object shall be able to consume the subpackage regardless if the xlink:href attribute of the <draw:object> element has a trailing slash or not
(S10.5-1) ODF1.1i-Cons shall ignore the table:cell-range-address attribute on a <chart:plot-area> element if that element contains one or more <chart:series> elements with a non-empty chart:values-cell-range-address attribute
(S10.9-1) ODF1.1i-Doc <chart:series> elements shall have a non-empty chart:values-cell-range-address attribute
(S11.4.2-1) ODF1.1i-Cons supporting form controls shall not solely depend of the value of the form:control-implementation attribute for representing the form control. That is, if the ODF1.1i-Cons does not support the concrete rendition specified in the value of this attribute, the ODF1.1i-Cons shall use its own rendition based upon the element name as a fallback mechanism
(S12.1-1) ODF1.1i-Doc <office:annotation> elements shall contain a non-empty <dc:creator> and a non-empty <dc:date> element
(S12.1-2) when creating a new <office:annotation>, ODF1.1i-Prod supporting annotations shall either set the content of the <dc:creator> and <dc:date> attributes automatically, or provide the User a means to create the content
(S12.1-3) ODF1.1i-Prod supporting annotations shall provide the User a means to create / read / update / delete the content of <text:p> and <text:list> elements within a <office:annotation> element
(S12.1-4) ODF1.1i-Cons supporting annotations shall provide the User a means to read the content of the <dc:creator>, <dc:date>, <text:p> and <text:list> elements within a <office:annotation> element
(S12.1.3-1) ODF1.1i-Cons shall ignore the <meta:date-string> element within <office:annotation> elements when that element contains a non-empty <dc:date> element
(S15.4.6-1) See 15.4.7
(S15.4.7-1) ODF1.1i-Doc <style:text-properties> elements shall not have a style:text-line-through-style attribute when they have a style:text-line-through-type attribute with value "none"
(S15.4.7-2) ODF1.1i-Doc <style:text-properties> elements shall have a style:text-line-through-style attribute when they have a style:text-line-through-type attribute with a value other than "none"
(S15.4.7-3) ODF1.1i-Cons shall ignore the style:text-line-through-style attribute on <style:text-properties> elements when the style:text-line-through-type attribute is not present, empty or set to "none"
This is in line with [ODF 1.2] 19.364
(S17.3-1) ODF1.1i-Cons supporting encryption shall at least accept passwords containing between 1 (inclusive) and 16 (inclusive) characters
(S17.3-2) ODF1.1i-Prod supporting encryption may impose stricter limits on passwords
(S17.4-1) ODF1.1i-Doc packages shall contain an uncompressed stream called "mimetype", this stream shall be the first stream of the package's zip file
The following individuals have participated in the creation of this specification and are gratefully acknowledged
Andreas Guelzow, Individual
Andrew Rist, Oracle
Bart Hanssens, Fedict
Bernd Eilers, Sun
Daniel Rentz, Sun
Dennis Hamilton, Individual
Louis Suarez-Potts, Sun
Rob Weir, IBM
Implementation specific defaults
(Note that this is not about the default attribute values in the XML schema, nor about the elements within <office:settings>)
ODF Implementations like office suites may use implementation specific defaults, especially for layout purposes.
a chart application may automatically use a implementation specific set of colors for displaying different bars and lines in charts. When the user opens this chart in another implementation, the bars and lines may have a different color.
a text application may display text using left-to-right or right-to-left writing mode, depending on the language of the paragraph, or based upon the locale settings of the system etc. When the user opens this ODF-Doc in another implementation, the text might be displayed in another direction if the Producer doesn't write out a style:writing-mode value and the Consumer does not recognize the language.
The user may or may not be pleased with this result. However, without a user-specific action it is not possible to determine if one merely wants to save the data into an ODF-Doc and let the consuming ODF Implementation use its own defaults, or one wants to preserve some or all of these implicit settings.
For maximum interoperability and flexibility:
an ODF1.1i-Prod may want to ask the user if some (or all) implementation specific settings should be stored in the ODF-Doc
the ODF1.1i-Cons should use the settings in the ODF-Doc, unless the user has previously instructed the implementation to override these settings in a general way (e.g. always applying a "theme", or using a high-contrast color set when opening a document)
the User should still be able to override these settings on a per-document basis
Changes marked with "OIC": see http://tools.oasis-open.org/issues/browse/OIC-<number>
wd 1: creation
using ISO/IEC keywords instead of IETF's
removed printed-by/print-date (needs more thinking)
added OIC-5, OIC-6, OIC-7
added 17.4 MIME stream, 12.1 Annotations
added "supporting ..." prerequisite where applicable
added password length
added "keep table:formula"
added change tracking
added paragraph on flexibility in Introduction
split 8.1.3 Table formula in pre- and post-OFF approval
added "conversion conformance"
cd1 rev 1:
added version to title
added notion that ODF1.1i-Impl, ODF1.1i-Cons and ODF1.1i-Prod shall conform to all requirements
OIC-32, OIC-34, OIC-35, OIC-37
cd1 rev 2:
added link to Jira in Appendix B
OIC-42, OIC-44, OIC-45, OIC-46, OIC-47, OIC-51, OIC-2, OIC-55, OIC-56, OIC-57
cd1 rev 3:
orrected date in footer
[ODF 1.2] now refers to ODF 1.2 CD 04
larify 11.4.2 a bit more + fix typos
OIC-36, OIC-49, OIC-50, OIC-53
cd1 rev 4 (=cd 2):
added hyperlinks and trademarks on cover
added numbering conformance clauses
cd2 rev 1
hanged ODF11... into ODF1.1...
cd2 rev 2
added links to normative references
add full name for OFF