DeltaXML Support FAQ
Table of Contents
This file records answers to the most frequently asked questions received by our e-mail support service. Further technical questions are answered in our Technical FAQ.
1. General questions
1.1. Do I need a Schema or DTD?
No. But if you do have a DTD, an XML Schema or a RELAX NG grammar, your XML parser can work out when blocks of whitespace can be ignored and this will usually result in a better comparison. The XML specification states that whitespace is significant and so DeltaXML will compare it. Another way to remove spurious white space is to use the normalize-space.xsl input filter.
1.2. Why does the delta file have newlines in the tags?
These were present in an early release of DeltaXML and the delta file is not formatted in this way now.
1.3. How can I configure DeltaXML, for example to ignore some attributes?
See the support document, "How to ignore changes and how to merge documents".
1.4. What is an 'orderless' comparison, and how would I use it?
XML documents are generally ordered. In other words, the order of elements within the file is significant and if two elements are exchanged you expect this to be reported as a difference. However, in many files the order of certain elements is not significant and it is useful to compare files without worrying about element order. For example, the elements in an XML Schema <choice> element are orderless as each must refer to a different type of element. DeltaXML can be instructed to ignore order within specific elements, at different levels in the hierarchy, by adding attributes to identify those that contain orderless element sets. See our demonstration of orderless comparison. More details of these techniques can be found in our paper on " How to compare orderless elements".
1.5. How do I guarantee as-expected results?
There are many ways in which DeltaXML can be configured to give you exactly what you need. Keys are very useful, and also indicating that a particular element is orderless. And then you can add input and output filters to manipulate your data or the resulting delta. Take a look at the features of DeltaXML Core in the walk-through intereactive demo.
1.6. Do I need to change my XML data to use keys and orderless comparison?
No. The best way to apply keys is to write an XSLT stylesheet that adds keys
and identifies orderless element sets. In this way you can continue to use your
data as it is and do not need to modify it. Section 3.6 of
"How to compare orderless elements" shows an example XSLT
script for automatically adding the necessary deltaxml:ordered and
deltaxml:key attributes to XML elements.
1.7. Can I compare comments and processing instructions?
See this forum discussion: http://www.deltaxml.com/forum/topic/75/1
1.8. I want to compare my text documents to show changes to individual words. Can DeltaXML do that?
Yes. DeltaXML can perform XML file comparison on a word-by-word basis. See our word-by-word demonstration.
1.9. Will DeltaXML handle large XML files, e.g. 1 GByte?
Yes. We have prepared a page with details of techniques: "How to compare large files" which provides guidance on how to handle large files.
1.10 What is the latest release?
Please see the release notes, for core: Core release notes , and for sync: Sync release notes
2. Using the API
2.1. How can I integrate DeltaXML with my applications?
Details of how DeltaXML's XMLComparator can be used within a Java application are provided in the Introduction to DeltaXML guide. A full set of Javadoc documentation is provided in the download. A copy of the latest documentation for the DeltaXML Core API is also available as Javadoc.
2.2. Is the code threadable?
Yes. See the package and class descriptions in the Javadoc for more information.
2.3. Can the API do everything the command-line version does?
And a lot more. The stylesheets activated by the various options provided in the evaluation software are included in the API package, so you can quickly build equivalent processes and add features that make your application even more impressive. You will also be able to process additional stylesheets at the start and end of your processing sequence to ensure that all relevant parts of your input files are fully processed and the results are presented in the format most suitable for your users and applications.
2.4. Do you offer any support for regression testing?
Yes. We prodive an isEqual method which quickly returms a boolean result and which is very useful in regression tests.