Pipelines and the Differences Between DXP and DCP
What are Pipelines?
The process of applying filters and other processes to an XML file can be envisioned as a pipeline where the file flows down the pipe, is processed and appears at the other end in a new format. The output of each process becomes the input of the next one. Typical DeltaXML comparison pipelines have two input files, a comparator and one output file, the result of the comparison.
As can be seen in this diagram, your two XML files are input to the pipeline on the left. A number of Input Filters can be applied to each file, these may be the same filters for A and B or there may be some reason to use different filters. Both files are then processed by the comparator which produces the result file, called the delta. This delta file may be processed by Output Filters which are designed to format the result in a desired way.
What’s the difference between DXP and DCP?
- These file types are there to allow you to customise the process of comparing two XML files. DXP stands for DeltaXML Pipeline and DCP for Document Comparator Pipeline. Both form part of XML Compare as alternative methods of working.
- DXP was developed first, with release 3.1 of XML Compare, and then DCP came in with the Document Comparator in XML Compare’s version 7.0. Command line and GUI support for DCP files was introduced with version 8.2.
- DXP was designed for any XML file type and can be customised for data or documents. DCP is designed specifically for XML documents and for this reason is the best choice when comparing documents unless you have historical reasons for using DXP.
- An empty DXP file will result in just a simple comparison but an empty DCP file has some settings that are useful for most documents.
- The DXP format is defined using a DTD but DCP files have a Schema (xsd file).
- When running from the command line there is an option to produce intermediate result files for pipelines, both for DXP and DCP. The different result files produced for DXP and DCP reveal the differences between the two systems: DXP only has intermediate files for the filters that have been defined specifically for the pipeline while DCP has many intermediate files that are nothing to do with filters that have been added to the extension points. This debug output enables you to see exactly what is happening to your data in the pipeline so that you can develop and debug your own custom filters, whether those are defined as a full pipeline in DXP or as extension points in DCP. Please note that, if you raise a support case, your original input files together with any DCP or DXP files, are of more use than any intermediate files.
Other Articles
A Beginner’s Guide to XML Comparison
For more information about DCP and the Document Comparator see here.