要使用lxml進行XML文檔的RELAX NG驗證,可以按照以下步驟操作:
pip install lxml
<?xml version="1.0"?>
<element name="example">
<element name="foo">
<text/>
</element>
</element>
from lxml import etree
# 加載RELAX NG模式文件
with open('example.rng', 'rb') as schema_file:
schema = etree.RelaxNG(etree.parse(schema_file))
# 創建驗證器對象
validator = schema.assertValid
# 加載XML文檔
xml_doc = etree.parse('example.xml')
# 驗證XML文檔
try:
validator(xml_doc)
print('XML文檔通過RELAX NG驗證')
except etree.DocumentInvalid as e:
print('XML文檔未通過RELAX NG驗證:', e)
在上面的示例中,example.xml是要驗證的XML文檔。通過運行上述代碼,可以驗證XML文檔是否符合定義在example.rng中的RELAX NG模式。