OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office-formula message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [office-formula] Conformance for documents?

Patrick Durusau <patrick@durusau.net> 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 
> >
> 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?


> Hope everyone is having a great day!
> Patrick
> -- 
> Patrick Durusau
> patrick@durusau.net
> 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 

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]