Issue 43230

Summary: Suppport import/export OLE Objects from/to wordml using xslt
Product: General Reporter: wind.li
Component: codeAssignee: jack.warchold
Status: CLOSED FIXED QA Contact: issues@framework <issues>
Severity: Trivial    
Priority: P3 CC: issues, jack.warchold, jogi, peter.jentsch
Version: 680m80   
Target Milestone: OOo 2.0   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on: 36885    
Issue Blocks: 29596, 25570, 29588    
Attachments:
Description Flags
bugdoc none

Description wind.li 2005-02-21 09:30:02 UTC
After the fix for i36885 had been integrated we get near to  importing MS 2003
XML docuement  with OLE Objects. But currently the BASE64 encoded OLE objects
are not  compatible between WordProcessingML and Open Office XML.  
To get the OLE Objects you can either save a doc file(with OLE objects) to xml
the get them at /w:docOleData/w:binData or save a doc file to html and you will
find an OLE objects storage files at  <yours_files>/oledata.mso .

You can base64 decoder here.
http://www.fourmilab.ch/webtools/base64/
Here you can get  an MDI MFC Docfile Viewer :
http://support.microsoft.com/default.aspx?scid=kb;en-us;139545 .
You can use it to browse OLE Structured Storage Files (DocFiles).
Comment 1 wind.li 2005-02-21 09:33:51 UTC
There are manys wordml issues which depends on this.
Comment 2 mci 2005-02-21 09:44:29 UTC
Hi windly,

thanks for using and supporting OpenOffice.org...

reassigned to mru

mci -> mru:
Hi mru,

I think this is something for you...
Comment 3 wind.li 2005-02-21 10:16:29 UTC
windly -> mci
 Just for your information, I am your colleague in Beijing China. I am currently
focusing on Mozilla Addressbook integration and WordML filter. :)
Comment 4 michael.ruess 2005-02-21 10:58:49 UTC
Reassigned to JSI.
Comment 5 jogi 2005-02-23 15:04:37 UTC
-> Gavin: That would be IMO your part or am I wrong?
Comment 6 jogi 2005-02-23 15:05:26 UTC
AFAIU OOo 2.0 would be great otherwise set it to 2.0.1
Comment 7 jogi 2005-02-23 15:06:04 UTC
cc' ing Jack.
Comment 8 wind.li 2005-02-24 01:37:45 UTC
Sorry. Maybe my comments are not cleanly enough. 
I mean the oledata exported by wordml are not in general oledata format. It same
that Microsoft compact the streams in it. So it can be render now. We need the
framework or the flat filters ti handle this.
Wind->jsi
Could you please assign it to the right developer?
Comment 9 glu 2005-02-24 01:49:04 UTC
glu->mib: It seems that OLE bin-data in WordML is a little tripped, compared
with OLE binary data supported in OOo XML format. So, is it possible to extend
support to this WordML-style OLE binary data? Or if possible, who's properly in
charge of it? 
Comment 10 michael.brauer 2005-02-24 07:28:27 UTC
Wind, can you please attach a bug document.
Comment 11 wind.li 2005-02-24 08:19:13 UTC
Created attachment 22974 [details]
bugdoc
Comment 12 wind.li 2005-02-24 08:26:13 UTC
There are four files in the bug doc. They are two wordml files and two
corresponding OOo flat files. 
In each wordml files, there is a base64binary named oledata.mso. It contains all
ole objects in this file. It's in MS ole docfile format. You decoded them to
binary and use stg.exe to view the file structs.
Comment 13 wind.li 2005-02-24 12:08:49 UTC
The stream is compressed using zlib. The first 4 byte are a unsigned long. It is
the uncompressed length. The reset bytes of the stream is zlib compressed data.
After uncompress I get a well formated OLE Structured Storage Files (DocFiles).
 It works in both OOo and MS Word.
   So to support both import from and export to wordml in xslt filters, I
suggest we deal with oledata in the same way MS Word does.
It is:
   1. There is only one ole data in the final saved file.
   2. It includes multiple streams, each one has a unique name and is a
compressed data with 4 byte unsigned long uncompressed length prior to it.
   3. Each ole object in the file has property to point out which stream belongs
to it. 
Comment 14 wind.li 2005-03-03 08:53:07 UTC
I had created a xalan extension for this
Comment 15 wind.li 2005-03-14 04:30:15 UTC
fixed in CWS wordmlfilter02
Comment 16 wind.li 2005-03-14 04:30:58 UTC
reopen to reassign
Comment 17 wind.li 2005-03-14 04:32:18 UTC
assign to qa
Comment 18 wind.li 2005-03-14 04:33:06 UTC
fixed in CWS wordmlfilter02
Comment 19 jack.warchold 2005-03-21 12:51:46 UTC
seen good in cws wordmlfilter02 -> set to verified
Comment 20 jack.warchold 2005-04-11 14:52:34 UTC
seen good in src680_m91 (with workarround) -> closing