Hi Kohei,

The OOXML support is already implemented by the "com.sun.star.embed.StorageFactory" service. The factory is now able to create storages supporting the format. In close future it is planned to create all the storages as a new UNO services. Until then the current factory-based solution is used.

So currently the most comfortable way to create the new storages is to use the new methods from ::comphelper::OStorageHelper helper class declared in "comphelper/storagehelper.hxx":
GetTemporaryStorageOfFormat()
GetStorageOfFormatFromURL()
GetStorageOfFormatFromInputStream()
GetStorageOfFormatFromStream()
The supported formats are declared in the same header, so for example to create a storage of OFOPXML format from an URL with read access a following call could be used: ::comphelper::OStorageHelper::GetStorageOfFormatFromURL( OFOPXML_STORAGE_FORMAT_STRING, aURL, css::embed::ElementModes::READ ); When the new approach for storages creation is implemented the methods will be adjusted.

The storage supporting the OOXML format implements "::com::sun::star::embed::XStorage" interface and is very close to the OOo package storages in it's behaviour.
Main differences to the package storage:
- no encryption is supported
- [Content_Type].xml is used instead of manifest.xml for type information
- only streams support MediaType property
- relationships related storages are not visible to the user
- relationships are treated as part of information controlled by related storage/stream object - a relationship information related to a storage/stream object can be accessed using new interface "::com::sun::star::embed::XRelationshipAccess" implemented by the object. Please see the interface idl-documentation for details.

Questions are welcome.

Best regards,
Mikhail.

PS: I have done CC to the framework list since this information could be interesting for others.

Kohei Yoshida wrote:
Hi Mikhail,

Daniel Rentz recommended that I contact you regarding questions for the
package module.  I hope I've hit the right person. :-)

I'm in the process of writing export code for Office Open XML filter.
Little work has been done so far, but my research tells me that I would
need to make use of / make some modification to the package module
(among others) to enable OOXML export.

So far, I've encountered three package classes:

1. ZipPackage (package)
2. OStorage (package)
3. SotStorage (sot)

I would be nice to have a little overview of these three classes, and/or
any recommendations you might have for OOXML export. :-)

Thanks, and have a nice day.

Kohei


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to