Issue 103076 - ODF, chart from MS-Office2007sp2 doesn't load caused be different xlink:href syntax
Summary: ODF, chart from MS-Office2007sp2 doesn't load caused be different xlink:hre...
Status: CLOSED FIXED
Alias: None
Product: Calc
Classification: Application
Component: open-import (show other issues)
Version: OOo 3.1
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: kla
QA Contact: issues@sc
URL:
Keywords: ms_interoperability
Depends on:
Blocks:
 
Reported: 2009-06-24 19:13 UTC by barthanssens
Modified: 2013-08-07 15:14 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
spreadsheet with chart, created in MSO2007sp2 (4.97 KB, application/vnd.oasis.opendocument.spreadsheet)
2009-06-24 19:14 UTC, barthanssens
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description barthanssens 2009-06-24 19:13:54 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)
Comment 1 barthanssens 2009-06-24 19:14:44 UTC
Created attachment 63193 [details]
spreadsheet with chart, created in MSO2007sp2
Comment 2 IngridvdM 2009-06-26 18:00:44 UTC
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.
Comment 3 barthanssens 2009-07-15 10:21:42 UTC
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 :-)

Comment 4 IngridvdM 2009-08-31 17:24:43 UTC
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.
Comment 5 mikhail.voytenko 2009-08-31 18:20:17 UTC
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.
Comment 6 IngridvdM 2009-09-01 16:44:02 UTC
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.
Comment 7 IngridvdM 2009-09-07 18:52:52 UTC
@Thomas, please verify in CWS chart41.
Load the attached example. A chart should be visible.
Comment 8 kla 2009-09-09 08:24:08 UTC
Seen ok in cws chart 41 -> verified
Comment 9 caolanm 2009-10-28 21:31:19 UTC
closing, integrated DEV300m59