Office Open XML Open Document Coverter
The objective of this project is to create a bidirectional Pentaformat-based converter between Office Open XML documents and Open Document documents.
For each document, it is possible to define two levels of formalization: SOM (Syntactic Object Model, see OpenXMLODFConverterSOM
) and COM (Conceptual Object Model, see OpenXMLODFConverterCOM
SOM is low level model very close to the syntax of the document format. On the other hand, COM is an high level model exposing Pentaformat concepts (suchs structures, metadata, presentations, and so on). COM allows to work with the high-level concepts (such as sections, chapters, etc) defined by the underlying format, also in the case they are not explicitly represented by first-class syntactic structures. COM is based on SOM, and it still depends on the underlying format.
Given two document distinct formats, their SOMs will likely be very different. On the contrary, their COMs will likely be similar, in the sense that they will define similar concepts. As consequence the conversion shoule be easier at COM level rather than at SOM level.
Thus, in order to convert a document D
from a source format L
to a destination format L
, the following steps occur:
- read D (stored in format L) and create the corresponding SOM
- create the corresponding COM
- convert the obtained COM in the COM for L'
- create the SOM from the COM resuting from the preceding step
- serialize the obtained SOM into format L'
Conversion over concepts
One major goal of the conversion process is to preserve some dimensions of the Pentaformat over others. The Pentaformat dimensions are prioritized as follows:
Such a prioritization tells that the conversion process should focus on the preservation of content and structural aspects, rathern presentation ones.
Another major goal is the preservation of the roundtrip property. That is, if we convert a document from format L
to format L'
and back, then we expect to obtain a new document identical (or at least very close) to the orginal one.
- 7 Dic 2007
- Set ALLOWTOPICVIEW =
- Set ALLOWTOPICCHANGE =