Welcome to the KWord 1.3 to OOWriter/OASIS import filter


Note: the information in this file is meant for developers, not for end users.


Following are a few points about some particularities when developing this filter.

=== Multi-Pass Overview ===
The filter is a 4 pass filter.

1. Parsing
    1a parsing documentinfo,xml (done classicaly with QDom)
    1b parsing maindoc.xml (class KWord13Parser, done with Qt's SAX parser: QXml)
2. Postprocessing of parsing (class KWord13PostParsing)
    * loading of pictures
    * grouping tables cells (currently not done)
    * placing bookmarks (currently not done)
3. Preparing the OASIS document (function KWord13OasisGenerator::prepare)
    * creating automatical styles
4. Generating the OASIS document (function KWord13OasisGenerator::generate)
    4a creating the files content.xml, styles.xml, meta.xml
    4b writing pictures
    4c writing manifest file 

=== Syntax Versions ===

KWord has a few syntax variants, starting with the 3 official syntax versions
(called 1, 2 and 3) but there is also KWord files predating syntax 1 and also
the files generated by KWord import filters might differ too.

There are 2 big syntax groups: the old syntax and the new one. The old syntax
is syntax 1 or older, the new syntax starts with syntax 2.

The aim of this filter is to support any file claimed to be a KWord file (as the
user has not chosen the version with which he has generated the file.)

So be careful when modifying code not to remove support for other syntaxes (be
it newer or older ones). This also means not to assume that a certain tag or
attribute always exists in a KWord tag. Only very few ones do so.
