[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [office-formula] Conformance for documents?
Patrick Durusau <firstname.lastname@example.org> wrote on 12/07/2009 07:03:43 PM: > > While reading chapters 1-5 today in a waiting room, ;-), I realized > something that we have at least partially discussed but that remains > unresolved for the formula work. > > Granting that in my view we need to consolidate the various requirements > for "applications," we also need to define what it means for a document > to conform to OpenFormula. > First thing -- let's erase the word "document" from our thinking, at least for OpenFormula. This Part has nothing to do with documents or XML. All of the XML/document requirements should be in Part 1 when we define table:formula. But OpenFormula is intended to be at a higher level, above the encoding and above the document model of ODF. It deals with Unicode strings which represent OpenFormula expressions. In theory, OpenFormula Expressions should be embeddable in non-XML containers. This naturally leads to us defining conformance for two things: 1) expressions (the analog of documents) and 2) Evalutors (the analog of a processor). If you look at the conformance clause in Part 1 you see how it invokes these OpenFormula concepts, say in 21.2.4. The former defines the static constraints for a string, i.e., the syntax, and the later defines the runtime constraints, e.g., the permissible values which an expression may be evaluated to. > For example, under basic limits we say: > > > Applications *shall* support formulas up to at least 1024 characters > > long, as measured when in ODF interchange format not counting the > > square brackets around cell addresses, or the ?.? in a cell address > > when the sheet name is omitted. > > > OK, so for a minimal ODF document that contains a formula, it must at > least allow a formula of up to 1024 characters (I am not sure what "ODF > interchange format means) "not counting the square brackets around cell > addresses, or the ?.? in a cell address when the sheet name is omitted." > So this should say Evaluator rather than "Application". > That is something that could be said about a document and the > application that produces it. (I am assuming that the producer of a > document doesn't necessarily have the capacity to process such a > formula, but that it can insert it in appropriate locations.) > I don't think we need to get into producer conformance in the OpenFormula part. It should be enough to treat Expression and Evaluator. In Part 1 we can then say that a conformant ODF Spreadsheet Producer shall wrote values of OpenFormula that are conformant OpenFormula Expressions. > But then skip a couple of limits and we find: > > > 1. > > > > Applications *shall* support at least 7 nesting levels of functions. > > > Err, I suspect based on 5.2 Basic Expressions that the nesting is of > expressions? Correct? > That sounds right. > Moreover, for a document conformance means up to seven nested > expressions, but that doesn't mean that the document producer or > consumer does anything with them. Yes? > Nesting can be expressed as a constraint on conforming Expressions. Once that is done it is trivial to say that Conforming Evaluators must process all conforming Expressions. > I suppose another way to frame this is that the conformance requirements > for an OpenFormula "application" are different from documents that carry > expressions, etc., that conform to the syntax and semantics of > OpenFormula. It should be possible to pass OpenDocument documents with > OpenFormula conformant formulas to and through ODF 1.2 conformant > applications that don't understand or process the formulas. All those > applications must do is preserve the formulas that they don't process or > understand. Yes? > I think the intent was that OpenFormula would define syntax for Expressions and behavior for Evaluators. In ODF Part 1, we have a number of conformance classes, once of which (Conforming ODF Spreadsheet Document) should require that Producers write conformant OpenFormula Expressions for table:formula and Consumers are conformant OpenFormula Evalautors when processsing table:formula attribute. We have other conformance classes in Part 1, such as the Extended class or the generic OpenDocument Document, where this is not a requirement. But I think the user will have the reasonable expectation that formulas will be mutually exchangeable among applications that claim to be conforming OpenDocument Spreadsheets. In any case, any talk of preserving formulas is out of place for Part 2, since nothing here should be describing documents or how a document is written. Does this make sense? -Rob > Hope everyone is having a great day! > > Patrick > > -- > Patrick Durusau > email@example.com > Chair, V1 - US TAG to JTC 1/SC 34 > Convener, JTC 1/SC 34/WG 3 (Topic Maps) > Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300 > Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps) > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >