Table of Contents
Introduction to DeltaXML Sync
1 Introduction
1.1 What is DeltaXML Sync?
- DeltaXML Sync is a system which performs an intelligent, XML-aware merge of three XML datasets into one XML result.
- DeltaXML Sync can apply rulesets to produce different kinds of results for a number of different kinds of applications.
- Rulesets can be symmetrical (treating all the input documents in the same way) or asymmetrical, e.g. concurrent-edit which needs to know which document is the 'base'.
- DeltaXML Sync uses DeltaXML Core matching technology so that deltaxml:key is available for fine control of the merge process.
2 Rulesets
We provide a number of different rulesets. Detailed format specification and descriptions for the corresponding rulesets are documented separately. New rulesets will be added in future releases, and we can quote for customized rulesets if you have a particular requirement.
2.1 Concurrent Edit
This is the 'classic' example where one document is changed by two editors/programs/processes independently of each other. These editors may introduce conflicts, for example when one editor modifies a paragraph and the other editor deletes it. In such cases the output will show the conflict so that another process can make a decision about what action to take. These conflicts are represented in XML so you can easily process them to generate the result that you require.
For the concurrent edit ruleset it is necessary to identify which of the documents represents the common ancestor (which we refer to as the 'base' input) for the two edits.
There are other applications of this ruleset. An example is configuration file updates where changes a customer has made to, say, version 1 need to be merged with vendor changes in releasing version 2.
Further documentation:
2.2 Delta File Output
The DeltaXML delta format (or 'deltaV2') represention is a generic output form which provides a merge of the three input documents where data that is common to two or more of the input documents is shared. No further processing is performed to remove or modify this merged data. It is possible to extract any of the three input documents directly from this format. More complex processing will enable any combination of the three documents to be generated, the concurrent edit output is generated as from this representation.
Further documentation:
3 Developing with Sync
In this section we will propose a roadmap for developers to help you to become familiar with DeltaXML Sync.
DeltaXML Sync uses DeltaXML Core to perform the basic comparison between the three documents. This means that many of the comments that apply to DeltaXML Core also apply to DeltaXML Sync. In particular, you need to be aware of how whitspace is treated. You can also use the deltaxml:key attribute to control the comparison process.
3.1 Online Tools
We provide a number of online evaluation and experimentation tools:
- The DeltaXML Sync Sandbox allows interactive experimentation with small samples of data. It shows the result immediately.
- The DeltaXML Sync online service allows you to upload your own data for processing on our server.
3.2 SDK (Software Development Kit) download
The online tools show you how Sync works. After using them you may want to:
- experiment with your own filters and pipelines
- assess performance on your own server/hardware
- experiment with the APIs which allows the Sync engine/pipelines to be embedded into your own workflow
To access this go to the download page for DeltaXML Sync.
