跳转到主要内容

ERP5的XUpdate生成器

项目描述

简介

这是一个比较任何XML文档的XUpdate生成器。

有关XUpdate的信息,请参阅 <http://xmldb-org.sourceforge.net/xupdate/>

测试

要运行测试

python -m unittest discover src

或者,使用 zc.buildoutzope.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>

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 (18.3 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面