[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: The structure of ODF 1.2 Conformance
As we finish up ODF 1.2 we should pay particular attention to how the conformance clauses of each relate. This is especially important as conformance in ODF 1.2 is more finely structured than it was with ODF 1.1. Along with different conformance "targets" (Documents, Producers, Consumers) we also have conformance "levels" in OpenFormula (large, medium and small) and conformance "classes" in Parts I and III (normal versus Extended conformance). We need to ensure that it is clear how the conformance of the parts relate to each other. The structure of conformance in ODF 1.2, Part I looks like this: We have three top-level conformance targets: Conforming OpenDocument Documents Conforming OpenDocument Producers Conforming OpenDocument Consumer The document conformance defines the requirements that are statically testable, such as RNG validity and other structural constraints. And the Producer/Consumer targets state the dynamic, runtime or behavioral requirements. This structure is echoed in Part II, although it is not as explicit as it needs to be in the latest draft. But there is an intent to express static as well as dynamic conformance, which we can call conformance targets: OpenFormula Expression OpenFormula Evaluator There are also conformance levels of "small", "medium" and "large" apply to each of these conformance targets. For example, the "medium" level permits a larger range of functions than the "small" level. And Part III defines conformance for: Conforming OpenDocument Packages Conforming OpenDocument Package Producer Conforming OpenDocument Package Consumer This also partitions the static and the dynamic requirements. There are other conformance targets, dealing with "extended" documents and specialized document types like spreadsheets", but let's make sure we have things hooked up properly for these core conformance targets first. In particular we want to make sure that this static/dynamic or structural/behavioral distinction is respected as we define how conformance relates among the parts. For example, in Part I, 1.4.2.1 we say: "(D1.1)If the document is an OpenDocument package, then (D1.1.1)it shall be a conforming ODF package as defined by the OpenDocument specification part 3: Packages," This is good, since the draft of Part III defines the requirements of a "conforming OpenDocument package". We probably want to put "conforming OpenDocument package" in italics as a conformance target name. Since this is a normative reference, we should also make sure that Part I formally references Parts II and III. However, "Conforming OpenDocument Package Producer" does not reference "Conforming OpenDocument Package Producer" at all, so it does not trigger those requirements. This seems like an error. Similarly "Conforming OpenDocument Consumer" does not refer to "Conforming OpenDocument Package Consumer". So in those two cases we have Part III conformance targets that are orphaned. Nothing refers to them. Would it help if we deprecated or removed the single-XML file option from ODF 1.0/1.1? Does anyone actually support that today? It would be a lot simpler to be able to say that a conforming ODF document is always a conforming Package, etc. Part I also defines specialized document conformance targets for each of the major ODF document types: Conforming OpenDocument Text Document Conforming OpenDocument Spreadsheet Document Conforming OpenDocument Drawing Document Conforming OpenDocument Presentation Document Conforming OpenDocument Chart Document Conforming OpenDocument Image Document Each of these conformance targets inherits the requirements of "Conforming OpenDocument Documents" and adds requirements that the document be harmoniously typed according to the target, specifically: 1. office:mimetype must match the document type 2. mimetype file in the package must match the document type 3. The child element of <office:body> must be proper for the document type Additionally, Conforming OpenDocument Spreadsheet Document requires: "(D1.2) All table:formula attribute values shall be namespace prefixed and the namespace prefix shall correspond to the "urn:oasis:names:tc:opendocument:xmlns:of:1.2" namespace. (D1.3) All table:formula attribute values shall conform to the syntax defined by OpenFormula." I think that (D1.3) is more correctly expressed as "All table:formula attribute values shall be conformant OpenFormula Expressions according to Part II of this standard". Note that there are no specialized Consumer or Producer classes according to document type. So there is nothing here that directly states that a spreadsheet application must evaluate formulas according to the requirements of OpenFormula. I think this needs to be fixed, Finally, we have the various "extended" conformance targets: In Part I: Conforming OpenDocument Extended Documents Conforming OpenDocument Extended Producers In Part III: Conforming OpenDocument Extended Packages Conforming OpenDocument Package Extended Producer However, the relationship between "Conforming OpenDocument Extended Documents" and "Conforming OpenDocument Extended Packages" is not stated. Was one intended? Right now there is no reference to the "Extended Packages" conformance targets from Part I. -Rob
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]