Skip to main content

Tree 2 tree correction between xml documents. Extract differences between two xml files. It returns a set of primitives to apply on source tree to obtain the destination tree.

Project description

========
XML Diff
========

.. image:: https://travis-ci.org/Shoobx/xmldiff.png?branch=master
:target: https://travis-ci.org/Shoobx/xmldiff

.. image:: https://coveralls.io/repos/github/Shoobx/xmldiff/badge.svg?branch=master
:target: https://coveralls.io/github/Shoobx/xmldiff?branch=master

.. image:: https://img.shields.io/pypi/v/xmldiff.svg
:target: https://pypi.python.org/pypi/xmldiff

.. image:: https://img.shields.io/pypi/pyversions/xmldiff.svg
:target: https://pypi.python.org/pypi/xmldiff/


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


=======
CHANGES
=======

1.0.0 (unreleased)
------------------

- Bug: Fix a off-by-one issue with `insert-after` action.

- Bug: Do not remove newlines from text while parsing the XML.

- Bug: Do not rename children on text node updates.

- Bug: Text moves were not recorded as part of the fmes edit script.

- Remove only partially implemented xmlrev script.

- Removed support for xupdate, which never became a standard.

- Removed deprecated ezs optional and deprecated algorithm.

- Removed support for Debian and RedHat packaging.

- Removed Windows support

- LOTS of package cleanup (setup.py, MANIFEST, proper console script, etc)

- tests moved to py.test and cleaned, added tox, travis, coverage support


0.6.10 (2010-08-27)
-------------------

- apply Daiki Ueno patch: fails when comparing minimal trees on i386


0.6.9 (2009-04-02)
------------------

- Fixed xmldiff-xmlrev compilation error


0.6.8 (2006-06-15)
------------------

- Fixed 64bit cleanness issues


0.6.7 (2005-05-04)
------------------

- WARNING: xmldiff is no longer a logilab subpackage. Users may have to
manually remove the old logilab/xmldiff directory.

- fixed debian bug #275750, also reported by Christopher R Newman on the
xml-projects mailing list

- fixed --profile option, wrap function from maplookup when profiling so that
they appear in the profile information

- fixed setup.py to ignore the xmlrev shell script under windows platforms

- small improvements (remove recursion in object.py, minor enhancement in
mydifflib.py, rewrite of lcs4 in C)


0.6.6 (2004-12-23)
------------------

- Applied patch by Bastian Kleineidam <calvin@debian.org> which

- corrects the typo in ML_DIR

- fixes the TMPFILE_XSLT/TMPFILE_XSL typo

- makes sure the files are XML or SGML files, else prints an error

- adds various missing quotes around filenames which could have
spaces or begin with a hyphen

- fixes typos in the usage() function

Thanks a lot, Bastian.

- Fixed some problems in the xmlrev.xslt stylesheet

- Fixed problems in xmlrev caused by the exit status of xmldiff when
successful

- Added a man page for xmldiff and xmlrev


0.6.5 (2004-09-02)
------------------

- xmlrev bugfixes

- Fixed packaging problems (missing xsl stylesheets and MANIFEST file)


0.6.4 (2003-10-02)
------------------

- fix recursive mode

- rewrite regression test, add test for the recursive mode

- add --help option to xlmrev

- packaging fixes

- turn API.txt and HELP.txt to correct ReST


0.6.3 (2002-11-06)
------------------

- fix wrong xpath for attributes

- fix bug with temporary duplicate attribute node

- fix for xupdate

- fix ext_pes option bug

- update changelog to new format


0.6.2: (2002-09-23)
------------------

- return number of differences on command line

- reintroduce misc.list_print which caused recursive mode
to fail

- use psyco if available (http://psyco.sf.net)

- little changes in C extension


0.6.1 (2002-08-29)
------------------

- fix packaging problems


0.6.0 (2002-08-23)
------------------

- change of the internal representation

- remove support for the EZS algorithm (no more maintened
for the moment)

- add command line options to parse html and to control
entities inclusion and output encoding

- fixing coalescing text nodes bug

- many other bugs fixes

- great speed improvement


0.5.3 (2002-01-31)
------------------

- add __init__.py in "logilab" directory


0.5.2 (2001-10-29)
------------------

- bug fixes in xupdate formatting and in the dom interface.


0.5.1 (2001-09-07)
------------------

- Fast Match / Edit Scritp algorithm, now fully usable

- fixes Unicode problem


0.2.1 (2001-08-10)
------------------

- bug fixes, optimizations for ezs algorithm


0.1.1 (2001-08-04)
------------------

- original revision

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmldiff-1.0.0a2.tar.gz (36.8 kB view details)

Uploaded Source

File details

Details for the file xmldiff-1.0.0a2.tar.gz.

File metadata

  • Download URL: xmldiff-1.0.0a2.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xmldiff-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 8bb91f15ecd2a0efa11bcaf8be013df16629af7ab0c909ca4ff1330d0aacae73
MD5 8ca07eb4bbb09cce4b07b64e56c7d7d6
BLAKE2b-256 8b2288e32c7999c85a6aa97b2c36e4b366bd5e6631f03c14988124b93564bdb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page