SYNOPSIS

xmldiff [ options ] original_file modified_file

xmldiff [ options ] -r original_directoty modified_directory

DESCRIPTION

xmldiff is a utility for extracting differences between two xml files. It returns a set of primitives to apply on source tree to obtain the destination tree.

The implementation is based on Change detection in hierarchically structured information, by S. Chawathe, A. Rajaraman, H. Garcia-Molina and J. Widom, Stanford University, 1996

OPTIONS

-h, --help
     display this help message and exit.
-V, --version
     display version number and exit
-H, --html
     input files are HTML instead of XML
-r, --recursive
     when comparing directories, recursively compare any
     subdirectories found.
-x, --xupdate
     display output following the Xupdate xml specification
     (see http://www.xmldb.org/xupdate/xupdate-wd.html#N19b1de).
-e <encoding>, --encoding=<encoding>
     specify the encoding to use for output. Default is UTF-8
-n, --not-normalize-spaces
     do not normalize spaces and new lines in text and comment nodes.
-c, --exclude-comments
     do not process comment nodes
-g, --ext-ges
     include all external general (text) entities.
-p, --ext-pes
     include all external parameter entities, including the external DTD
     subset.
--profile=<file>
     display an execution profile (run slower with this option),
     profile saved to file (binarie form).

EXIT STATUS

  0 means no difference were found.
  A positive number means some differences were found.
  A negative number means an error occured.

KNOWN PROBLEMS

xmldiff uses an algorithm with a (too) high algorithmical complexity, which makes it unsuitable to process large XML documents. If your document has more than about 100 nodes, you should probably look for an alternative solution.

Any suggestion to this issue is welcome by Logilab. Please tell us if you are aware of a simpler algorithm to solve this problem.

REQUIRES

python, pyxml

RELATED TO xmldiff…

xmlrev(1)

http://www.logilab.org/project/xmldiff/

http://www.xmldb.org/xupdate/xupdate-wd.html#N19b1de

AUTHOR

Sylvain Thénault <[email protected]>

This manpage was written by Alexandre Fayolle <[email protected]>.