Apache OpenOffice (AOO) Bugzilla – Issue 103076
ODF, chart from MS-Office2007sp2 doesn't load caused be different xlink:href syntax
Last modified: 2013-08-07 15:14:30 UTC
When loading an ODS with a chart created in MS-Office 2007sp2, the chart isn't visible. Instead, "OLE" is displayed. The cause is twofold: 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) Like this: <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. According to the ODF spec, this attribute seems to be optional 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)
Created attachment 63193 [details] spreadsheet with chart, created in MSO2007sp2
Thanks for the report and the in depth analysis! I can reproduce the described problems. For part B) I created a separate issue 103147 and are working on a solution. So this issue can concentrate on part A). ->Mikhail, is the identification of the OLE object from the xlink:href attribute your part? Please have a look.
Of course, the same xlink:href issues goes for other embedded objects as well (I just encountered a similar issue with a MathML equation), it is not limited to charts only. So accepting both "./Object 1" and "Object 1/" would solve quite a few issues with embedded objects in general. IIRC sp2 for MS-Office 2007 is to be rolled out as an auto-update later this month, so I was hoping that this could make it into 3.1.1 :-) Anyway, really looking forward to 3.2 :-)
I found the relevant source code. It is not yours mav, not mine either - but I can fix it nevertheless. Seems to be harmless. Taking over.
mav->iha: Thank you. After you are ready with the fix, please test the loading of a document with a linked object as well. If I am not wrong the same source-code handles the linked objects.
mav, the broken code is in SvXMLEmbeddedObjectHelper::ImplGetStorageNames(). This code is not passed when loading linked files. So linked objects seem not to be affected. Thanks for the hint anyhow! Fixed in CWS chart41.
@Thomas, please verify in CWS chart41. Load the attached example. A chart should be visible.
Seen ok in cws chart 41 -> verified
closing, integrated DEV300m59