【发布时间】:2020-01-10 08:58:43
【问题描述】:
我正在尝试使用官方提供的XML schema 验证来自 Robot Framework 的 output.xml 文件:
对于 Python 中的 xml 验证,我使用的是 lxml library。
def validate_xml_file(schema, filename: str):
log.info("Validating XML file: {}".format(filename))
xsd_doc = etree.parse(schema)
xsd = etree.XMLSchema(xsd_doc)
xml = etree.parse(filename)
result = xsd.assertValid(xml)
我收到以下错误:
File "src/lxml/xmlschema.pxi", line 86, in lxml.etree.XMLSchema.__init__
lxml.etree.XMLSchemaParseError: Element '{http://www.w3.org/2001/XMLSchema}element': Invalid value for maxOccurs (must be 0 or 1)., line 19
正如您在 Robot Framework xsd 文件中看到的,第 19 行是:
<xs:element name="kw" type="kw" maxOccurs="2" minOccurs="0"/> 这意味着 macOccurs="2" 存在问题。你知道一些“不错”的方式,如何忽略这条规则?
谢谢。
【问题讨论】:
标签: python python-3.x xml xsd lxml