On 8/18/06, Fridrich Strba <[EMAIL PROTECTED]> wrote:
> Andrew Ziem wrote:
> > I have started* a Microsoft Works (.wps) document importer.  Since
> > libwpd has been incorporated into three word processors, I thought I'd
> > emulate the libwpd API to make it easy to implement support for Works.
>
> Very wise approach :-) It goes in line with Will's vision from this
> e-mail
> http://lists.ximian.com/pipermail/openoffice/2004-October/000556.html
> and with an approach that I was trying to urge the OOo Google SoC
> mentors to consider
> http://sw.openoffice.org/servlets/ReadMsg?list=dev&msgNo=1241
> Unfortunatelly, due to a low number of slots allocated to OOo, none of
> the "Text importer" projects went through for SoC 2006, as you may know
> :-( So, I am glad to see you in the "Text importer" universe again ;-)
>
> > Then, it was necessary or convenient to copy and paste libwpd's source
> > code.  Now, I'm seeing there is a lot of copying, pasting, and renaming
> > strings like "WP" to "WPS."  To avoid forking what has turned out to be
> > an increasing amount of  code, any thoughts on consolidating efforts?
>
> Yes, copy&paste == evil. Andrew, quick look at our API would suggest
> following: Do not copy anything. Just for the time being make depend the
> libwps on classes from libwpd public headers (WPXProperty* family
> classes, WPXString, WPXHLListenerImpl (and eventually WPXInputStream)
> interface class(es),...). It is quite possible that one could extract
> the framework for the next ABI breakage from the libwpd-0.8.so into a
> separage libwpd-framework-0.9.so, but as far as I am concerned, my todo
> list is still long enough and the libwpd API is written in written in
> stone for at least 1 year more. I have some ideas for API changes for
> next release cycle of libwpd (like removing completely the libgsf
> dependency from the provided stream implementation, some changes
> concerning the page spans and adding callbacks for embedded objects...)
> but I do not want to touch the API as long as I have still non-breaking
> changes in my todo list.

I think Fridrich is on the right track here. Basing a filter off of
the WPX* framework would allow you to abstract away much of the
low-level ugliness of the .OOT format, and would potentially pave the
way towards sharing the work with KWord and AbiWord as well.

Being able to create a document as follows:

m_listenerImpl->startDocument();
m_listenerImpl->openPageSpan(..);
m_listenerImpl->openSection(..);
m_listenerImpl->openParagaph(..);
m_listenerImpl->openSpan(..);
m_listenerImpl->insertText(..);
..

.. beats writing out a whole bunch of XML by hand, IMO. Of course,
there is the problem of figuring out how to properly factor all this
into a seperate library (libtextdocumentfilter?), which I don't really
have time to describe in detail right now. If people are really
interested in going in this direction, I could write a specification
on how I envision this working. Be warned: implementing the
specification would probably be a fair amount of work. :)
-- 
William Lachance
[EMAIL PROTECTED]

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Libwpd-devel mailing list
Libwpd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libwpd-devel

Reply via email to