[odf-discuss] What is actually necessary and found only
in OpenXML?
Alex Hudson
alex at stratagia.co.uk
Tue May 29 10:55:51 EDT 2007
Marbux,
marbux wrote:
> >>>
>
> 5. MAY This word, or the adjective "OPTIONAL", mean that an item is
> truly optional. One vendor may choose to include the item because a
> particular marketplace requires it or because the vendor feels that it
> enhances the product while another vendor may omit the same item. An
> implementation which does not include a particular option MUST be
> prepared *to interoperate* with another implementation which does
> include the option, though perhaps with reduced functionality. In the
> same vein an implementation which does include a particular option
> MUST be prepared *to interoperate* with another implementation which
> does not include the option (except, of course, for the feature the
> option provides.)
>
> <<<
>
> "May" is used as the level of requirement for each discussion of the
> foreign elements in Section 1.5, the conformance section. As I
> interpret that definition of "may," StarOffice and OOo would be
> required to preserve foreign elements and attributes enclosing content
> needed for interoperability purposes even if those apps do not
> themselves implement the foreign element and attribute features, e.g.,
> for interoperability with the Foundation's MS Office plug-in. But the
> definition would not require the preservation of such elements and
> attributes or their contents to the extent that preservation was not
> required for interoperability purposes.
That's an incorrect interpretation. The word "interoperate" above is in
the context of the implementation (of the standard). Under no
interpretation of that RFC does any feature listed as "MAY" become an
implementation requirement, and it doesn't mean "optional unless the
feature is used for interoperability purposes" - since obviously the
implementation has no idea whether or not the feature is being used in
that manner or not, that cannot be the right interpretation since it
effectively turns it into a MUST.
What it means is: "You don't have to implement this. However, you MUST
expect that other people will implement it, and deal with such
situations". So, you cannot decide that ODF files with foreign metadata
are not ODF and refuse to open them - however, you're also not under any
obligation to implement the feature (it is "TRULY OPTIONAL").
If you still don't see it, look at it the other way: RFC 2119 states "In
the same vein an implementation which does include a particular option
MUST be prepared to interoperate with another implementation which does
not include the option". That means the Foundation's plugin MUST
interoperate with OpenOffice.org, which does not include the feature. If
it cannot, it is not implementing OpenDocument correctly.
I hope that helps.
Alex.
More information about the odf-discuss
mailing list