Table of Contents
DeltaXML Core README ( .NET platform)
Welcome to the DeltaXML Core product! DeltaXML enables you to compare any XML documents or data and either view the changes in a browser or process the changes to integrate change control into your own systems. The Core product provides a toolkit for general purpose, extensible comparison and recombination for XML data.
This release contains:
- The
DeltaXML.CoreS9Apinamespace: our latest API providing a high performance and feature rich comparison pipeline using pre-compiled or XSLT filters and providing support for Saxon's s9api interfaces. - The
deltaxml.execommand-line interface/driver (no programming required)
For support information (such as how to compare large files) and further technical details, please refer to the following URLs on the DeltaXML web site:
- DeltaXML Core Features Interactive Walkthrough: http://www.deltaxml.com/free/examples/core-features/
- Documentation index: http://www.deltaxml.com/library/
- DeltaXML Tour: http://www.deltaxml.com/library/tour-of-deltaxml.html
DeltaXML Core compares two input XML documents and generates an output delta document. This delta has been designed to be concise, easy to understand and easy to process. You can choose between a full context delta showing the changes in the context of the original document and a minimal delta showing just the changes. The delta may be used simply to display changes to the user, or may be fed through for downstream processing. Configuration is through the use of pipelines, giving Java and XSLT programmers a simple and powerful way to adapt DeltaXML processing for specific needs. You'll find more details in the DeltaXML Tour.
The .NET platform releases are more recent than the corresponding Java platform releases, we have
therefore chosen to include only the more recent API developments when converting and porting.
The primary API for the .NET platform is provided in the DeltaXML.CoreS9Api namespace.
The classes here are an approximate match for the classes contained in the
com.deltaxml.cores9api java package.
The classes in DeltaXML.CoreS9Api are specific to the .NET platform
and are designed to be compatible with the various types provided in the .NET runtime.
However, they make use of underlying code which has been converted using IKVM.NET to convert
Java classes into .NET CLR assemblies. This converted code uses various
com.deltaxml.* packages/namespaces and is provided in
deltaxml.dll. The API documentation we have provided documents the
DeltaXML.CoreS9Api namespace and some aspects of the
com.deltaxml.* namespaces which may be needed on .NET. These aspects
include documentation of the exceptions which may be thrown and details of the pre-compiled
filters that can be used in pipelines.
The release also includes a command line processor which can be used to perform comparison
and recombination operations on local files through a simple command line interface. This
command line interface is contained in
deltaxml.exe and is used like this:
deltaxml status deltaxml compare diffreport file1.xml file2.xml diffs.html deltaxml ...
Further details are in the file docs/command-processor.html
The samples directory contains a number of sample programs, their data and .bat files to run the samples in a command window.
The samples directory also contains a number of XSLT filters (samples/xsl-filters),
described in further detail here: http://www.deltaxml.com/library/filters-and-pipelines.html
The samples/dxp directory contains the DXP configuration
files included, by default, in the GUI and Command-line processors and
also a DTD file used for DXP validity checking. These should be useful starting
points for developing custom pipelines.
Please see the samples ReadMe for further information.
The release contains a number of '.dll' files. This section lists them and also explains why they are required; we currently recommend you include then all when deploying or redistributing your applications. When deploying you may either keep/copy all of the DLL files in a local directory or insert them into the Global Assembly Cache.
deltaxml.dll- This file contains the main DeltaXML Core code and associated resources (such as Java filters) which have been converted from Java classes using IVKM.NET. It is possible to write .NET CLR code using this dll if you are familiar with the JAVA platform runtime libraries, however we do not document or support such use and recommend users use our .NET specific namespace.
DeltaXML.CoreS9Api.dll- This DLL contains our .NET namespace and is our recommended API for the .NET platform.
IKVM.*.dll- These files either support the IKVM converted code or the (OpenJDK) java runtime libraries on which the Java code depends. This collection of DLLs is a subset of those included with IKVM.NET, but should be sufficient for runtime use of our code.
deltaxml-xercesImpl.dll- This file provides parsing and catalog resolving support in our pipelined architecture. The parser used is Apache Xerces and the catalog resolver is from Apache XML Commons. Please see Catalog Resolver Customizations for further details of the modifications we have made to the resolver.
deltaxml-saxon9pe.dll- This file provides support for XSLT processing within our
pipelined architecture. It has been IVKM converted from the corresponding
saxon9pe.jarfile. deltaxml-saxon9he-dotnet.dll- This file is provides conversion code between Java and .NET libraries, it was compiled from Saxon HE source code, and then IVKM converted into a DLL.
We are always keen to improve our products - please make use of our Support Forums if you have any comments or suggestions while working with DeltaXML. We hope you enjoy it!
The DeltaXML Team.
The DeltaXML software is licenced under the terms described in the file Licence.html. The licence terms in this file differ
depending upon whether this is an evaluation release of the software or a purchased
release.
Included in the distribution is saxon9pe.dll, which is a
dotnet IKVM translation of the - otherwise unmodified -
saxon9pe.jar, a binary component of the professional edition
of Saxon ('The SAXON XSLT and XQuery Processor from Saxonica Limited.'). This version
of Saxon may only be used when invoked from a DeltaXML product.
Also included in the distribution is the net.sf.saxon.dotnet
package from the open source home edition of Saxon (Saxon-HE), which is compiled and IKVM
translated to the saxon9pe-dotnet.dll library. Saxon-HE is provided under
the terms of the Mozilla Public License, a copy of which can be obtained at http://www.mozilla.org/MPL/.
The home page for Saxonica is http://www.saxonica.com. For further
details of Saxon's licensing please see http://www.saxonica.com/license/license.xml and the
docs/notices/saxon/ subdirectory included in the
distribution. In particular, the docs/notices/saxon/LEGAL.txt file describes how the
license/notices of third party code included in Saxon is handled.
This product includes software developed by the Apache Software Foundation (http://www.apache.org), these include:
- the
xercesImpl.dlllibrary which is an IKVM compiled combination of thexercesImpl.jarcomponent from the binary 2.9.0 release of the Xerces-J SAX parser and the DeltaXML adaptaion (variant) of theresolver.jarcomponent from the 1.2 release of the Apache Commons Resolver OASIS catalog reader.
The DeltaXML adaptation of Apache's resolver contains standard fixes for some of the known bugs and an enhancement that enables entities to be loaded via an IKVMed translation of Java's resource loading mechanism. For further information please see our Customized Catalog Resolver page for details of the changes and the associated source code and/or contact us.
These components are: Copyright (c) 1999-2006 The Apache Software Foundation. All rights reserved. and are licensed under the terms of the Apache License, Version 2.0. These components must be used under the terms of the license at: http://www.apache.org/licenses/LICENSE-2.0
In accordance with section 4(d) of the Apache License, the notices for these libraries are enclosed in appropriately labelled subdirectories of the ${product.name.spaces} distribution, as follows:
- Xerces-J SAX parser notices are in the
docs/notices/xerces/directory. - Resolver catalog reader notices are in the
docs/notices/resolver/directory.
The deltaxml.jar file contains one compiled class from the
'TrueLicense Library', which is a component of the TrueLicense Library Collection. This code
is: Copyright 2005 Schlichtherle IT Services, and licensed under the terms of the Apache License, Version
2.0.
In accordance with section 4(d) of the Apache License, the notices for these libraries are
enclosed in the docs/notices/truelicense/ directory of
the distribution.
Included in the distribution are several umodified, binary DLLs that form part of the IKVM runtime. The IKVM product and documentation is available from http://www.ikvm.net. These files are licensed under the terms of the GPLv2 with the classpath exception, for further details please refer to the files within the docs/notices/ikvm/ directory of the distribution.
The 'Side by Side' result report output makes use of version 4.0 of the jCanvas JavaScript library.
The file is included in various Jar files within the release and also at: samples/xsl-filters/side-by-side/jcanvas.js.
This file is Copyright 2011, Caleb Evans and Licensed under the terms of the MIT License as per the comments at the top of the file.
The 'Side by Side' result report output also makes use of the jQuery JavaScript library v1.4.2.
The file is included in various Jar files within the release and also at: samples/xsl-filters/side-by-side/jquery-1.4-min.js.
This file is Copyright 2010, John Resig and is dual licensed using the MIT and GPL v2 licenses. The file also
contains a further copyright statement, please see the comments at the top of the file.