[ODFPlugtest] FW: chart in spreadsheet, why ooo doesn't load charts from mso

Hanssens Bart Bart.Hanssens at fedict.be
Fri Jun 26 21:40:01 CEST 2009


Additional info can be found on the OOo issue tracker
http://www.openoffice.org/issues/show_bug.cgi?id=103147

Quoting from their analysis:

"A missing 'table:cell-range-address' at the <chart:plot-area> normally indicates that a chart has its own data. In that case the data must be provided with a <table:table> element within the <chart:chart>.
But such a <table:table> element is missing in the attached document. So strictly speaking the document is broken
To apply to the ODF spec it is not sufficient to only set the attribute 'chart:values-cell-range-address' at the series. The 'table:cell-range-address' at the <chart:plot-area> must be set also.
This apparent duplication of information has its origin in backwards compatibility. Early implementations of ODF have not been able to use iindependent ranges for the different series. Instead only one single range was separated into rows or columns. This single range is set at the 'table:cell-range-address' at the <chart:plot-area>."


Best regards,

Bart


________________________________________
From: Hanssens Bart
Sent: Wednesday, June 24, 2009 4:39 PM
To: ODF Plugfest mailinglist
Subject: chart in spreadsheet, why ooo doesn't load charts from mso

Hi,



After some quick checks on the "chart in spreadsheet" scenario, the reason that OOo 3 doesn't load the MS-Office 2007sp2 chart seems to be two-fold:


A) there is, of course, the difference in the value of the href attribute


OOo uses <draw:object xlink:href="./Object 1"...>
MSO uses <draw:object xlink:href="Object 1/"...>



B) in addition, OpenOffice.org 3.1 seems to expect that the cell range in the chart:plot-area (Object 1/content.xml) is set, otherwise the bars won't show up (see also ODF 1.1 part 10.1)

<chart:plot-area table:cell-range-address="Sheet1.B1:Sheet1.B3"
...
<chart:series chart:values-cell-range-address="Sheet1.B1:Sheet1.B3"


MS-Office 2007sp2 doesn't set the table:cell-range... on chart:plot-area


Note that MS-Office 2007sp2 and OOo use a slightly different notation for specifying ranges as well (with or without $), but that doesn't matter in this example.

(Of course, OOo will only show the first bar since B2 and B3 contain formulas from the msoxl: namespace and they are currently not supported in OOo)



Interesting enough, adding this range doesn't seem to make Symphony 1.3 able to show the first bar. But if you change the value in B2, the chart will be updated and you'll see the first and second bar.


Can someone verify this ?


Best regards,

Bart



More information about the Plugtest mailing list