用于ERP5的xUpdate生成器
erp5diff的Python项目详细描述
简介
这是一个xupdate生成器,用于比较任何xml文档。
有关 更新。
安装
python安装程序安装
测试
python设置测试
用法
一旦安装了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年9月15日,Tatuya Kamada,tatuya@nexedi.com>;
- 2009-2011年,尼古拉德拉比nicolas@nexedi.com>;
0.8.1.6(未发布)
- Bug fix
- Add support of deletion/addition for tailed text nodes
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]
版本0.8.1 nicolas delaby
错误修复
- 一些节点如果被另一个节点替换并跟随,则它们将成为孤儿 通过修改(测试30)
- 排除作为同级节点的注释或处理指令
版本0.8 nicolas delaby
功能
- 在允许生成xpath表达式的属性中包含“gid” 具有唯一标识符。
- 使用更好的算法比较两个xml节点(更快)。
错误修复
- 在“节点比较”中,丢弃仅具有e个空格的文本节点。
- 修正xupdate位置的相对计算:在节点之前插入
- 在正在使用的xupdate节点上添加命名空间声明 构建的xpath表达式中的前缀。
版本0.7 nicolas delaby
错误修复
- 其位置更改被丢弃的节点。
- 在xupdate输出上声明xpath表达式中使用的命名空间。
0.6版Nicolas Delaby
错误修复
- 修复生成的xpath表达式,缺少根元素。
版本0.5 nicolas delaby
功能
- 添加对命名空间的支持
- 支持xupdate:insert after
版本0.4 nicolas delaby
功能
- 更改xupdate的输出:通过添加隐含属性child来追加
0.3版Nicolas Delaby
错误修复
- 当id属性的值对于is sibling不唯一时xpath表达式中的追加位置
0.2版Nicolas Delaby
错误修复
- xpath中的位置从1开始
版本0.1 Tatuya Kamada
功能
- 用elementree实现的erp5diff(lxml)
版本0 Yoshinori Okuji
- 带有dom api(minidom)的初始erp5diff