incubator-odf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Weir <>
Subject Re: Database base odb support
Date Fri, 13 Jul 2012 12:37:57 GMT
On Fri, Jul 13, 2012 at 6:17 AM, Graham Weatherup <> wrote:
> I was directed to this toolkit by Michael Stahl from the LibreOffice dev
> list and would really like to use it for our java application PAMGuard. I
> assume it will maintain support for LibreOffice and OpenOffice as the files
> are the same?

I theory, yes, since ODF is a standard and the ODF Toolkit is based on
the standardized schemas.  At the lowest level the Toolkit code is
machine generated from the schemas themselves, so it is a very
faithful implementation of the standard.

> I don't see any example/demos for databases or anything like
> DatabaseDocument in the Simple API.
> Having looked at the source code I see the package
> org.odftoolkit.odfdom.dom.element.db has a lot of database related classes.
> Is this something that is planned for development, side-lined or actually
> working? If it is working are there any demos/examples that I can use or can
> someone briefly explain how to use it?

I'd be interested in what kind of scenarios you would want to support
with database documents.

As you've probably seen, the API is in layers.  At the lowest level is
the code generation and package support.  Then ODFDOM, which maps
1-to-1 to ODF schema elements.  In theory you can do anything you want
at this level, though you do need to know ODF well.  And at the top
level, in terms of abstraction, is the Simple API.  This is a higher
level wrapper of document manipulation functionality.

So if your goal is simply to solve an immediate problem, then writing
on top of ODFDOM is the fastest route.  One useful application pattern
is to start with an ODF document that was manually created in
OpenOffice, and then write ODFDOM code to modify that document.  This
way generally requires a lot less coding than creating a document from
scratch in code.

On the other hand, if your goal is to create an SDK to enable others
to create applications more easily, then writing an abstraction layer
in the Simple API  might work better.


> Thank You
> Graham Weatherup

View raw message