[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: [RFC] filter redesign
From:       Nicolas Goutte <nicog () snafu ! de>
Date:       2001-09-10 21:02:45
[Download RAW message or body]

On Monday, 10. September 2001 21:08, Thomas Zander wrote:
> On Mon, Sep 10, 2001 at 02:16:12PM +0200, Eva Brucherseifer wrote:
> > Hi,
>
> Hi Eva!
>
> > At work I had a similar problem and finally found a wonderful solution
> > from the design patterns, that might suit here too. It is the builder
> > patterns, which consists of 2 parts: the director and the builder.
> >
> > director:
> > The director parses the input and extracts the tasks to do in order to
> > build a document in another format. It doesn't have any knowledge about
> > how to perform the tasks.
>
> This fits perfectly for the HTML export of kspread and kword, yes. One
> director per application (maybe inhariting a basic implementation) looks
> very good to me!
>
> > builder:
> > The builder puts the output format together. It has an interface that
> > provides methods for sub-tasks. These are called by the director. It
> > doesn't have any knowledge about the input format.
> >
> > So how does this look like for the html export filter? You have the
> > builder that can set together a html page. Here is a rough sketch of a
> > html builder class:
> >
> > class KHTMLBuilder	: public KOfficeBuilder
> > {
> > public:
> > 	virtual void buildDocument(...);  // initialization
> > 	virtual void buildHeader(...);
>
> virtual void addHeader(QString name, QString value); // sets author stuff,
> known meta tags are converted.
>
> > 	virtual buildFooter(...);
> > 	virtual buildParagraph(...);
> > 	virtual buildTable(...);
>
>     don't forget that this method needs a created paragraph as an argument.
> (actually an ID, see below)

You cannot have this! <TABLE> cannot be a child of <P> according to strict 
DTD of HTML 4.01.

>
> > 	virtual buildTableRow(...);
> > 	virtual HTMLDocument* getHTML();
> > }
> >
> > The HTMLDocument can be another internal structure than easily can be
> > parsed afterwards or a string (or you add another function
> > "getString()").
>
> (...)
_______________________________________________
Koffice-devel mailing list
Koffice-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/koffice-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic