The DiffAlgorithm and MergeAlgorithm
are used to provide the merge capabilities of this project.
Merge is useful when an OfficeDocument
is converted to a "Device" Document format,
and the "Device" Document version is modified.
Those changes can be merged back into the original
OfficeDocument with the merger. The merger is capable
of doing this even if the "Device" format is lossy in
comparison to the OfficeDocument format.
The DiffAlgorithm generates a list of
Difference objects that represent the
differences between two OfficeDocument objects.
It is assumed that one is the original OfficeDocument
object and the other is a "lossy" version of the same
Document with edits to be merged. Typically the
"lossy" version is created by converting a "Device"
Document back into an OfficeDocument.
The MergeAlgorithm takes the Difference
objects as input, and creates a merged OfficeDocument.
A merged OfficeDocument has the following features:
OfficeDocument that are not
supported in the device format are not altered or removed.
OfficeDocument in the location determined by
the DiffAlgorithm.
Each converter provides an implementation of the
{@link org.openoffice.xmerge.ConverterCapabilities
ConverterCapabilities} which specifies which
OfficeDocument tags are supported for the
device format.