Two input files are used for an XML Compare comparison, referred to here as 'A' and 'B' files. Whilst it is often the case that 'B' is a modification of 'A', it is also possible that both inputs are derived independently from a common source. Using this terminology, a user-oriented set of high-level features is outlined below:

General Features

  • Find all the differences between any two XML files ('A' and 'B').

  • Apply changes to convert an 'A' XML file into the 'B' version (i.e. a diff 'patch').

  • Undo changes to convert a 'B' XML file into the 'A' version.

  • Display change information in either XML or HTML form, using a standard web browser.

  • Report changes only or changes+unchanged data.

  • Use XSLT input and output filters to pre and post process the XML data.

  • Handle large files without performance degradation.

Document Comparison Features and Benefits

  • Extensible pipeline with embedded functionality.

  • Text processing for differences on a word-by-word basis.

  • Special processing for formatting-elements.

  • HTML/CALS table structure aware.

  • Extension points for adding filter steps to the pipeline.

  • Ignoring changes to non-significant whitespace.

  • Handle moves of uniquely identifiable element. See Detecting and Handling Moves for more details.

  • Comparing two MathMLs. See MathML Comparison for more details

Multi-Document Comparisons

XML Compare only supports the comparison of two XML documents at a time; multi-document comparison is however available in XML Merge and DITA Merge.