DeltaXML Newsletter - March 2002
Launch of Version 2.2
DeltaXML launches Version 2.2 of XML change control software
This new version provides important additional benefits to put DeltaXML well in the lead for XML change identification and control software.
One of the major problems of comparison has now been solved: automated comparison can sometimes match the wrong elements across the two files and users need to be able to control this.
Version 2.2 allows full control of the comparison process so that corresponding elements are always correctly matched. Keys can be added to provide this fine control over this matching process. The keys could be ID attributes, other attributes or a combination of them, or even the content of sub-elements.
DeltaXML already handles unordered elements and now allows keys both in elements that are unordered and elements that are ordered. Such good control over the comparison ensures that the results are always what is expected.
DeltaXML has always identified blocks of text, within an element, that have changed. In Version 2.2 it goes further and can detect changes down to the word level. This enables markup of changes suitable for editorial or approval review.
Also added in this version are new configurations for specific XML formats such as XML Schema. Schemas can now be compared in a way that detects and ignores changes to the order of elements where these are not significant. And it always compares like-with-like by taking advantage of the new 'key' features of DeltaXML.
Building on both the new 'key' feature and the word-by-word comparison, a basic XHTML comparator is available as a demonstration on the web site. This compares XHTML files and shows the difference directly in the browser.
Complete control of the comparison process through the use of key attributes
One of the difficulties of finding a best match between two XML files is that sometimes the 'best' match is not quite what you need. To provide more control to the matching process, Version 2.2 of DeltaXML now allows key attributes to be used in ordered elements.
You can use ID attributes, 'name' attributes or any other key information (including data from sub-elements) to provide keys to control the matching process at any level in the tree structure. All you need to do is to specify the data in a deltaxml:key attribute, and DeltaXML does the rest by always matching elements with the same key (the elements must be the same type also). For more details, see http://www.deltaxml.com/pdf/adding-keys-for-deltaxml.pdf. More general technical details are at http://www.deltaxml.com/tech_details.html.
Word-by-word comparison of text documents
Often it is useful in XML documents to display change at the level of each word that has been modified. This is now provided by DeltaXML, in response to many requests.
Version 2.2 uses XSL stylesheet filters to achieve this word-by-word comparison, and it will become part of the core comparator in a later release. These filters enable you to obtain this unique functionality now and also have the advantage that you can control which blocks of text are compared on a word-by-word basis and which are compared as single blocks.
The revised on-line demo of DeltaXML demonstrates this - it is not available in the download version. You can see more about this at http://www.deltaxml.com/online-demo.html#wordbyword.
Comparing XML Schemas using DeltaXML
A difficulty in comparing XML Schema definitions is that the element definitions may appear in a different order, and even the items within a 'choice' may be in a different order. DeltaXML can handle this and ensure that the corresponding items in the two schema files are compared.
Using this feature, you can now find out in a much more intelligent way how two versions of your schema definition differ. Control and approval processes can now be made much more accurate and auditable. For large schemas, without DeltaXML it is almost impossible to find out what has really changed.
The revised on-line demo of DeltaXML demonstrates this - it is not available in the download version. You can see more about this at http://www.deltaxml.com/online-demo.html#schema.
Comparing XHTML using DeltaXML
As a demonstration, the on-line demonstration of DeltaXML now shows how two XHTML files can be compared and rendered back into HTML so that you can immediately see what has changed. It even shows changes to items in a drop-down menu!
Try it out (you can convert your HTML to XHTML using Tidy). It may do exactly what you need, but if it does not then it can easily be controlled to show the changes you need to show in the way you want to show them. This is all controlled by XSL stylesheets, so change them to get what you need!
For example, you may not be interested in changes to 'href' attributes, so you can ignore them. But if you do what to show them, then you can decide how to display these and show them on screen.
You can see an example at http://www.deltaxml.com/online-demo.html#xhtml
Threading to enable multiple simultaneous comparisons
Version 2.2 can now be used in a threaded Java environment. This means that two or more comparisons can be executed simultaneously, or you can provide user interaction while a comparison is proceeding. This makes DeltaXML much more versatile in server environments.