Loading login details...

Versioning XML documents and data: a DeltaXML solution

As more data and documents are converted to XML, the need for adequate, XML-aware, versioning is growing.

There are many text-based change management and content management systems, but few offer the advantages that can be gained by having an XML-aware system to handle XML data.

Text-based data comparison systems can handle XML data, because it can be treated as text. But they will often identify large numbers of differences between two versions of an XML document simply because they are not aware of changes to XML markup which should be ignored when recording deltas. For example:

In the above situations, a text-based data comparison program will flag changes that are irrelevant. The deltas will, therefore, be larger than necessary. and require significantly more storage space. Text-based deltas are only useful as a way of providing roll-forward and roll-back facilities: they are not useful as a record of changes because they do not retain any XML structure. This makes it almost impossible to use them for other purposes.

Consider some of the advantages that can accrue if the changes are held in XML and can be processed in the same way as other XML files. Not only can the delta files be much smaller but you can also automate  the processing of delta files, e.g. to check that certain parts of a document have not changed. By using versioning deltas as an audit record, you can automate the process of finding when certain changes were made instead of having to manually back-track through each version in turn.

Even if you cannot automate some processes, the XML-encoded delta file produced by DeltaXML has the same look and feel as the original file so you can display it and check manually where changes have occurred - or you can use XSLT to convert it to HTML to view in a browser.

XML data can be nested into tree structures. It is quite simple to incorporate one set of XML data within another. For example, you can nest a whole set of XML data files within a single XML structure and save it as a single file. This is often useful when the state of a system depends not on one XML file but on a set of related files: you can convert the data set to a single file representing the whole system. DeltaXML could then tell you, by doing a single file comparison, where a system has changed between two versions. Since DeltaXML can handle large XML files (50Mb+), this is a practical solution in many situations.

By combining DeltaXML delta files into a single 'Unified Delta' file it becomes possible to store all versions or a particular file in a single storage unit, from which versions can be extracted as required. In Unified Delta files data which is unchanged from version to version is only stored once, greatly reducing the amount of storage needed to store multiple versions of the file.

The DeltaXML  Unified Deltas API can help you to gain even more advantages from converting your data to XML. By representing any changes to your data in XML you can reduce the cost of processing changes to your data.