ERP5的XUpdate生成器
项目描述
简介
这是一个比较任何XML文档的XUpdate生成器。
有关XUpdate的信息,请参阅 <http://xmldb-org.sourceforge.net/xupdate/>
测试
要运行测试
python -m unittest discover src
或者,使用 zc.buildout 与 zope.testrunner
buildout ./bin/test
使用方法
安装erp5diff后,您可以在shell中使用“erp5diff”
erp5diff old.xml new.xml
或者在一个Python控制台中
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)
支持python3
0.8.1.7 (2015/04/23)
修复0.8.1.6版本中引入的回归问题。
0.8.1.6 (2015/04/23)
禁用可能导致错误结果的_removeStrictEqualsSubNodeList。
0.8.1.5 (2011/08/08)
修复rst语法。
改进混合内容处理。
0.8.1.4 (2011/08/05)
尾文本节点未检测到(…<node/>blablabla…)
修复main()函数的导入问题。
0.8.1.3 (2011/01/25)
添加long_description,改进README。
添加缺失的egg命名空间声明。
0.8.1.2 (2011/01/25)
[修复] egg的安装。
0.8.1.1 (2011/01/25)
[修复] 位置从1开始 [Nicolas Delaby]
版本0.8.1 Nicolas Delaby
错误修复
如果某个节点被另一个节点替换并随后进行了修改,则某些节点会保留孤岛状态(测试30)。
排除注释或处理指令作为兄弟节点。
版本0.8 Nicolas Delaby
功能
将‘gid’包括在允许构建具有唯一标识符的xpath表达式的属性中。
使用更好的算法比较两个XML节点(更快)。
错误修复
在节点比较中,忽略只包含空白的文本节点。
修复xupdate:insert-before节点的位置相对计算问题。
在构建xpath表达式时使用前缀的xupdate节点上添加命名空间声明。
版本0.7 Nicolas Delaby
错误修复
位置发生变化的节点被丢弃。
在xupdate输出上声明xpath表达式中使用的命名空间。
版本0.6 Nicolas Delaby
错误修复
修复生成的xpath表达式,缺少根元素。
版本0.5 Nicolas Delaby
功能
添加对命名空间的支持。
支持xupdate:insert-after。
版本0.4 Nicolas Delaby
功能
通过添加隐含的子属性child更改xupdate:append的输出。
版本0.3 Nicolas Delaby
错误修复
当id属性的值相对于其兄弟不唯一时,在xpath表达式中添加位置。
版本0.2 Nicolas Delaby
错误修复
在xpath中的位置从1开始。
版本0.1 Tatuya Kamada
功能
使用ElementTree (lxml)实现了ERP5diff。
版本0 Yoshinori Okuji
使用DOM API(minidom)的初始ERP5diff。
项目详情
erp5diff-0.8.1.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 36785c97b6f879b7d6cc8c9cccc36494dd035013052b8c05bcc8f7284721ddf5 |
|
MD5 | 91f559a102fdd758dd6bfaf1e3f0d026 |
|
BLAKE2b-256 | 0125db4d9ed9c7a3b30563776b13cbe4ded82b968a36c0f9ca2195819ba3910e |