lxml

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

小亿
86
2024-05-15 15:32:17
栏目: 编程语言

在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库。

0
看了该问题的人还看了