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)
AUTHOR
Sylvain Thénault <sylvain.thenault@logilab.fr>
This manpage was written by Alexandre Fayolle <alexandre.fayolle@logilab.fr>.