XUpdate Generator for ERP5
Project description
Introduction
This is a XUpdate Generator to compare any XML document.
See <http://xmldb-org.sourceforge.net/xupdate/> for information on XUpdate.
Testing
To run tests:
python -m unittest discover src
or, using zc.buildout with zope.testrunner:
buildout ./bin/test
Usage
Once you have installed erp5diff, you can use “erp5diff” in a shell:
erp5diff old.xml new.xml
Or in a python console:
from ERP5Diff import ERP5Diff erp5diff = ERP5Diff() old_xml = """ <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> </ul> """ new_xml = """ <ul> <li>5</li> <li>6</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>7</li> <li>8</li> <li>9</li> </ul> """ erp5diff.compare(old_xml, new_xml) erp5diff.output() <xupdate:modifications xmlns:xupdate="http://www.xmldb.org/xupdate" version="1.0"> <xupdate:remove select="/ul/li[5]"/> <xupdate:remove select="/ul/li[6]"/> <xupdate:append child="first()"> <xupdate:element name="li">5</xupdate:element> <xupdate:element name="li">6</xupdate:element> </xupdate:append> </xupdate:modifications>
2003-12-04, Yoshinori OKUJI <yo@nexedi.com>
2009-09-15, Tatuya Kamada <tatuya@nexedi.com>
2009-2011, Nicolas Delaby <nicolas@nexedi.com>
0.8.1.8 (2022/09/14)
Support python3
0.8.1.7 (2015/04/23)
Fix a regression that was introduced in 0.8.1.6.
0.8.1.6 (2015/04/23)
Disable _removeStrictEqualsSubNodeList that can make a wrong result
0.8.1.5 (2011/08/08)
Fix rst syntax
Improve Handling of mixed content
0.8.1.4 (2011/08/05)
Tail text nodes was not detected (…<node/>blablabla…)
fix import issue of main() function
0.8.1.3 (2011/01/25)
add long_description, improve README
add missing namespace declaration of egg
0.8.1.2 (2011/01/25)
[fix] installation of egg
0.8.1.1 (2011/01/25)
[Fix] position starts to 1 [Nicolas Delaby]
version 0.8.1 Nicolas Delaby
Bug Fix
Some nodes stay orphans if they are replaced by another one and followed by a modification (test 30)
Exclude comments or processing instruction as sibling node
version 0.8 Nicolas Delaby
Features
Include ‘gid’ in attributes allowed to build an xpath expression with a unique identifier.
Use better algorithm to compare two xml nodes (faster).
Bug Fix
In node comparaison discard text nodes with only withe-spaces.
Fix relative calculation of position for xupdate:insert-before nodes
Add namespace declaration on xupdate nodes which are using prefix in builded xpath expression.
version 0.7 Nicolas Delaby
Bug fix
Nodes whose position change were discarded.
Declare namespaces used in xpath expression on xupdate output.
version 0.6 Nicolas Delaby
Bug Fix
Fix generated xpath expression, the root element was missing.
version 0.5 Nicolas Delaby
Features
Add support of namespaces
Support xupdate:insert-after
version 0.4 Nicolas Delaby
Features
Change output of xupdate:append by adding Implied attribute child
version 0.3 Nicolas Delaby
Bug Fix
Append position in xpath expression when value of id attribute is not unique regarding is sibling
version 0.2 Nicolas Delaby
Bug Fix
Position in xpath starts from 1
version 0.1 Tatuya Kamada
Features
ERP5diff implemented with ElemenTree (lxml)
version 0 Yoshinori Okuji
initial ERP5diff with DOM API (minidom)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.