XML 验证

现状 (2018-10-12)#

  • 当前的 Windows 和 Linux 构建脚本会执行 schemaCheck.py 作为常规工具测试的一部分,结果可在每日构建页面上查看(例如,请参见 64 位 Linux 工具测试页面末尾的模式检查测试)。
  • 该脚本使用 lxml(如果可用)或 Sax2Count(仅在 Windows 上)。后者随 Xerces Windows 二进制发行版一起提供。
  • 仅检查在根元素中具有模式声明且属于以下类型(并符合以下命名方案)的文件:
    • netconvert 输入
      • 边 "*.edg.xml"
      • 节点 "*.nod.xml"
      • 连接 "*.con.xml"
      • 类型 "*.typ.xml"
    • sumo 网络 "*.net.xml", "net.netgen", "net.netconvert"
    • 路线文件 "*.rou.xml", "routes.duarouter", "alts.duarouter", "routes.jtrrouter" 包括 vehroutes 输出
    • 附加文件 "*.add.xml"
    • 配置文件 "*.????cfg"
    • sumo 原始转储 (netstate), 检测器 (e1 和 e2) 以及边数据 (net, emissions 和 noise) 输出
  • 可以为配置生成 XML 模式(命令行选项 --save-schema <FILE>)
  • 可以使用 --xml-validation 为所有二进制可执行文件配置 XML 验证

便携式测试应用程序(仅作参考)#

2009年10月28日:我对使用 Python 验证 XML 文件的可能工具进行了简短搜索。似乎主要使用两个:

其他候选:

简短比较:

lxml XSV xmlproc minixsv
执行类型 应用程序
依赖项 libxml 2.6.21 或更高版本, libxslt 1.1.15 ? ? genxmlif