Overview
--------

This library contains classes that are related to ODF but which are
not used by any application or by any library in libs/. Most of the
time this means that the classes are used by the filters, which is the
reason why this library is placed here.

The reason why the applications are not using them is often that these
classes are pure storage classes and the applications have more
advanced implementations that allow editing with good performance.
Examples of such classes are style classes and objects that are part
of text contents.

If a class is interesting to use in an application it should be moved
to libs/odf.


Contents
--------

The current classes in libodf2 are written in two different batches
and also represent two different sets of features and priorities.

1. Text table and table style objects

The first set was written for the OOXML import filters. They do not
support loading from ODF, only writing to it. The main purpose of
these classes is to be fast so it uses binary representation of the
properties.

It contains the following classes:

1.1. Objects representing table objects of different kinds:

 - KoTable
 - KoColumn
 - KoRow
 - KoCellChild
 - KoCell
 - KoCellValue
 - KoDummyCellValue
 - KoRawCellChild

1.2. Style objects

Objects representing styles for the objects above.  They use a binary
representation of style properties and implement only parts of the
style properties defined in the ODF standard.

 - KoStyle
 - KoTblStyle
 - KoColumnStyle
 - KoRowStyle
 - KoCellStyle


2. General style objects

The second set was written to also represent styles in ODF. However,
the main purpose is to be complete, i.e. they are intended to be able
to represent all types of style properties, both the simple name/value
pairs and more complex content in child elements.

These style objects use text representation and do not provide any
parsing to any other datatypes (yet). They all use the
KoXmlStreamReader to parse their input.

 - KoOdfStyleManager
 - KoOdfStyle
 - KoOdfStyleProperties
 - KoOdfTextProperties
 - KoOdfParagraphProperties
 - KoOdfGraphicProperties
 - KoOdfPageLayoutProperties
 - KoOdfHeaderFooterProperties

 - KoXmlStreamReader


Future plans
------------

Only the second set is actively developed at this time (early
2014). It is our intention to make this set of classes more complete
and in the end be able to represent all types of style property sets
and also all types of styles.

As a second priority it is our intention to combine the sets so that
we have only one set of content and style objects in libodf2.
