NAME
xmldiff - 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
SEE ALSO
xmlrev(1)
http://www.logilab.org/projects/xmldiff/
http://www.xmldb.org/xupdate/xupdate-wd.html#N19b1de
AUTHOR
Sylvain Thénault <sylvain.thenault@logilab.fr>
This manpage was written by Alexandre Fayolle
<alexandre.fayolle@logilab.fr>.