我正在生成一个XML文档,其中为不同的部分提供了不同的XSD(也就是说,某些元素的定义在某些文件中,其他元素的定义在其他文件中)。
XSD文件不会互相引用。模式是:
有没有一种方法可以使用lxml针对所有模式验证文档?
这里的解决方案不是简单地针对每个架构进行单独验证,因为我遇到的问题是,由于XSD中未指定元素,验证失败。例如,当针对进行验证时http://xmlgw.companieshouse.gov.uk/v2-1/schema/Egov_ch-v2-0.xsd,出现错误:
File "lxml.etree.pyx", line 3006, in lxml.etree._Validator.assertValid (src/lxml/lxml.etree.c:125415)
DocumentInvalid: Element '{http://xmlgw.companieshouse.gov.uk}CompanyIncorporation': No matching global element declaration available, but demanded by the strict wildcard., line 9
Run Code Online (Sandbox Code Playgroud)
因为所讨论的文档包含一个{http://xmlgw.companieshouse.gov.uk}CompanyIncorporation元素,该元素未在要验证的XSD中指定,而是在其他XSD文件之一中指定。