lxml怎么实现XML文档的Schematron验证

1301
2024/5/15 15:32:17
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在lxml中,可以使用etree模块中的Schematron类来实现XML文档的Schematron验证。以下是一个简单的示例代码:

from lxml import etree

# 定义Schematron验证规则
schematron = etree.Schematron(etree.XML('''<schema xmlns="http://purl.oclc.org/dsdl/schematron">
    <pattern>
        <rule context="book">
            <assert test="title">Every book must have a title.</assert>
        </rule>
    </pattern>
</schema>'''))

# 加载XML文档
xml_doc = etree.parse('books.xml')

# 进行Schematron验证
validation_result = schematron.validate(xml_doc)

# 输出验证结果
if validation_result:
    print("XML文档通过Schematron验证")
else:
    print("XML文档未通过Schematron验证")

在上面的示例中,首先定义了一个Schematron验证规则,然后使用Schematron类加载这个规则。接着加载了一个XML文档books.xml,并调用validate方法对其进行Schematron验证。最后根据验证结果输出相应的信息。

需要注意的是,要使用etree.Schematron类,需要确保安装了lxml库。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何使用lxml进行XML文档的模糊匹配和查询