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

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

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


Subject: Re: [office] Office-1812


Eike Rathke <erack@sun.com> wrote on 09/29/2009 11:16:40 AM:


> I further see some contradiction between the definition in OpenFormula
> 5.2 Basic Expressions that says
> 
> Formula ::= '=' ForceRecalc? Expression
> 
> and thus mandates a leading '=' equal sign, and some places in ODF 1.2
> part-1 that make the '=' optional or explicitly state that no '=' equal
> sign is present. IMHO, the presence of '=' and ForceRecalc should be
> defined at the document level of part-1 instead of in OpenFormula.
> 


We need to partition the requirements carefully between Part 1 and 
OpenFormula.  I'd like OpenFormula to be independent of XML, i.e., not say 
anything about the namespace prefix.  And I'd like it to also be 
independent of recalculation settings.  OpenFormula is a formula 
expression specification, not a spreadsheet specification.

So one way of dividing this is to say in Part 1:

ForceRecalc ::= '='
NameSpacePrefix ::==NCName:
Formula ::= NameSpacePrefix? '=' ForceRecalc? OpenFormulaExpression

In that case, the initial '=' is required otherwise it is ambiguous 
whether you have a force recalc or not.

Then in OpenFormula we can define an "expression" more simply, and not 
deal with the namespace prefix or leading '='.  This also allows 
OpenFormula to be reused in other contexts, such as conditions.

As for whether we require a namespace prefix, although it is a clean 
approach to require it, the implementation cost in terms of 
reading/writing the document is substantial, since these prefixes would 
need to be added to every cell that contains a formula.  It might only be 
a three extra characters "of:" per cell, but you could easily have 100,000 
cells.

Would it be possible to allow this to be defined at the document-level, 
something like table:formula-namespace="urn:foo"?  I cannot imagine that 
anyone is going to mix formula languages in the same document.  If we did 
that we could eliminate the namespace prefix altogether for table:formula.

If so we can state (in Part 1) that the default value of 
table:formula-namespace is that of OpenFormula, and that support of that 
expression language is required for Spreadsheet conformance.  However, the 
"extended" conformance class would allow other formula namespaces, in 
which case the expression language would be implementation-defined.

-Rob


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