Managing change in an XML environment

Authoring structured documents often includes storing those documents in a content management system (CMS). The CMS keeps all versions of a document and users often need to see or review changes between versions. If your authors are using the popular oXygen XML editor, then DeltaXML oXygen Compare will enable them to select any two versions of a document (or different branches) and see the changes in oXygen Author mode in a way that is familiar to users of ordinary word-processors.

DeltaXML oXygen Compare provides a comprehensive API for integration into CMS or other server-side enterprise systems.

This product is designed to:

  1. Compare blocks of text, and to render the results in a way that is easy to understand for a human reader.

    There are a number of optimisations in the code to achieve this, for example changes are grouped into larger blocks, a single word is typically not shown as unchanged within a block of changed text, and two paragraphs are shown as being different paragraphs if they have only a few words in common.

  2. Intelligently handle some common forms of XML table, such as default CALS, (X)HTML and DITA tables.

    Here, simple changes within the content of a cell are contained in a cell, whereas changes to the structure of a table results in the whole table, as a single unit, being changed.

  3. Support changes that can be represented using the track-change facility within oXygen.

    This is the view of changes that an author would expect, though it means that it does not show any changes to attributes, for example. The attribute values in the result document are taken from one of the documents (by default the second one).

  4. Preserve the details of the document structure for further editing (or 'round trip' processing).

    Here the intention is that the resulting document should be as close to the original source documents as possible so that you can continue to edit the document further. Therefore, entity references, CDATA sections, comments and processing instructions are preserved, except for previous oXygen track-change processing instructions that are removed before comparison.

  5. Support expanded content processing to see changes to the final document.

    Here the expanded content of the two documents is compared rather than their source content. In this case entity references and CDATA sections are expanded (comments and processing instructions are treated as before).

Both the command-line and API provide a means to control the comparison and the formatting of the output, via a collection of parameters.