LibreOffice Module writerfilter (master) 1
Classes | Namespaces | Functions
OOXMLDocument.hxx File Reference
#include <sal/types.h>
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <dmapper/resourcemodel.hxx>
#include <com/sun/star/task/XStatusIndicator.hpp>
#include <com/sun/star/xml/sax/XFastParser.hpp>
#include <com/sun/star/xml/sax/XFastTokenHandler.hpp>
#include <com/sun/star/xml/dom/XDocument.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/drawing/XDrawPage.hpp>
#include <oox/shape/ShapeContextHandler.hxx>
#include <oox/drawingml/theme.hxx>
Include dependency graph for OOXMLDocument.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  writerfilter::ooxml::OOXMLStream
 
class  writerfilter::ooxml::OOXMLDocument
 
class  writerfilter::ooxml::OOXMLDocumentFactory
 

Namespaces

namespace  writerfilter
 
namespace  writerfilter::ooxml
 

Functions

std::string writerfilter::ooxml::fastTokenToId (sal_uInt32 nToken)
 

Detailed Description

Import of OOXML WordprocessingML Documents

The following picture shows the classes involved in importing OOXML WordprocessingML documents.

The DOCX consists of parts. Each part is an XML document. The OOXMLDocument opens the DOCX and creates a SAX parser for the part containing the main document content. The OOXMLDocument creates a SAX handler, too. This handler is set as the handler for the events created by the parser. Finally the OOXMLDocument initiates the parsing process.

The SAX handler hosts a stack of contexts. Each context is an instance of a class derived from OOXMLContext. There is a context class for each <define> in the model.xml.

For a detailed information about how the contexts are handled see the documentation for OOXMLContext.

The contexts know how to convert an element in OOXML to the intermediate format that the domain mapper understands. They enumerate the according entity in OOXML by sending the according events to the domain mapper.

The domain mapper knows how to convert the intermediate format to API calls. It takes the events sent by the contexts and uses the core API to insert the according elements to the core.

Definition in file OOXMLDocument.hxx.