DXP In Depth – Pointers into the Documentation
DXP files are very well documented in XML Compare with many examples. The documentation page Specifying a Comparison Pipeline gives examples for DXP (and also for Java and C#) for all of the features, properties and attributes that can be added to the comparison pipeline. For example, if you wish to change the version of XSLT that is used in the transformer then the following needs to be added to the DXP file:
<transformerattributes>
<stringattribute name="http: saxon.sf.net="" feature="" xsltversion" literalvalue="3.0">
</stringattribute name="http:></transformerattributes>
The DXP User Guide provides:
- the technical background to pipelining
- a full explanation of the purpose
- details on all features with extracts from the DTD
- the differences between using a file and using the PipelinedComparator Java class
- the version history of the DXP definition in DTD
This diagram of an example pipeline provides a good introduction to the concepts described in the DXP User Guide.
DXP Uses Document Type Definition
The DXP file is defined by DTD files. A DTD defines the structure and the allowed elements and attributes of an XML document. If you are unfamiliar with this system, there is an introduction to DTDs at w3schools. Much of this seems quite obvious but there are a couple areas that are non-intuitive:
- the attribute value can be #IMPLIED, this means that the attribute is optional
- the symbol + means one or more
- the symbol ? means zero or one
- the symbol * means zero or more
Using the DTD enables XML editors like oXygen to assist with writing the DXP file with features like auto- complete
Other Articles
A Beginner’s Guide to XML Comparison
Pipelines and the Differences Between DXP and DCP
For more information about DCP and the Document Comparator see here.