【问题标题】:Python - Validation with multiple schemas using lxmlPython - 使用 lxml 验证多个模式
【发布时间】:2011-03-10 00:35:51
【问题描述】:

我正在使用由第三方构建的架构,我想使用 lxml 对其进行验证。问题是这样的架构被拆分为不同的 xsd 文件,这些文件引用了自己。

例如,一个名为“extension.xsd”的文件(它建立在“master”模式之上)有如下一行:

<redefine schemaLocation="master.xsd">

如果我尝试使用 lxml 验证它(解析,然后使用 XMLSchema 然后验证我知道已经有效的另一个文档),我只使用“扩展”而不是“主”进行验证:换句话说,验证失败(因为 XML 文件中的元素只存在于“master”中,而不存在于“extension”中)。

我该如何解决(或解决)这个问题?谢谢!

【问题讨论】:

    标签: python xsd lxml


    【解决方案1】:

    如果 lxml 不支持“重新定义”,最好的选择是修复它并提交补丁。 :)

    如果做不到这一点,解决方法是自己解析 master.xsd 文件,然后应用 extension.xsd 中的更改,并输出具有组合架构的单个 xsd 文件。

    【讨论】:

      猜你喜欢
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2012-09-01
      • 2014-04-18
      • 2021-01-15
      • 2018-02-05
      相关资源
      最近更新 更多