xmldiff(1) Tree 2 tree correction between xml documents

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

AUTHOR

Sylvain Thénault <[email protected]>

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