[Libreoffice-ux-advise] [Bug 109301] Field > Insert > More Fields > Insert Formula behave differently when in a table, to when not in a table

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Fri Aug 11 17:48:41 UTC 2017


https://bugs.documentfoundation.org/show_bug.cgi?id=109301

--- Comment #7 from Regina Henschel <rb.henschel at t-online.de> ---
(In reply to Heiko Tietze from comment #6)
> Is there any good reason to make this distinction? I mean why not 'ignore'
> the table:formula and just use text:expression in the table as well.

(1) I think, the central idea is in the note in section "9.1.1 General",
"Note: There is only one model for tables, although tables, such as for
spreadsheets, may have additional capabilities when compared to tables in text
documents."
That means, that cell attributes, formula included, are treaded the same in
Writer and Calc. Historically LibreOffice uses different syntax for formulas in
Writer and Calc, but that is not a demand of the specification.

(2) If you use a <text:expression> element, then it is child of a <text:p>
element in the content of a cell. That adds two levels nesting to access the
formula.

(3) Each cell has a type, defined by the office:value-type attribute and a
value, defined by one of the office:value, office:boolean-value,
office:string-value,... attributes. Only in case of office:value-type="string"
and missing office:string-value attribute the cell content itself is the
"value" of the cell.

The <text:expression> element is child of a <text:p> element in the content of
a cell. The content of the cell can only be "value" of the cell, if the cell is
of type string. But if it is a string, you cannot calculate with the value, at
least not with the Writer formula syntax, which does not know any
string-functions. If you provided an automatic conversion, you would get all
the problems of text->number conversion and its language dependency known from
Calc.

(4) The office:value is faulty in <text:expression> in current implementation.
Its value is always 0 but should be the result of the formula.=> bug 111674

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libreoffice-ux-advise mailing list