XMLSchema:是否可以计算无效文档的有效性(例如,百分比)?

前端之家收集整理的这篇文章主要介绍了XMLSchema:是否可以计算无效文档的有效性(例如,百分比)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Python中使用lxml来根据XML Schema定义验证大量XML文档.很多这些文件都没有验证 – 而且目前它们并没有被预期 – 但是如果我能够计算它们的有效性(百分比)用于报告目的,那将是有用的.我有能力使用xmllint或其他命令行工具,如果能够提供有用的统计数据.

解决方法

lxml解析器提供了一种在尝试解析文档时获取 a list of the errors方法.将它与解析器的 recover keyword argument结合起来就可以得到这样的结果:

# Warning,untested,may not work
parser = etree.XMLParser(recover=True)
it_would_be_a_tree = etree.parse(your_xml_data,parser)
total_errors = len(parser.error_log)

然后,您可以计算total_errors表示的文件的百分比.您可以使用天真的度量,例如每行错误或每个字符的错误,没有任何问题.如果it_would_be_a_tree实际上是树结构(例如,total_elements / total_errors),则也可以采用更复杂的度量.

猜你在找的XML相关文章