Используйте пакет lxml , чтобы сделать это:
from lxml import etree
# Create the schema:
with open(xsd_file) as f:
xmlschema_doc = etree.parse(f)
xmlschema = etree.XMLSchema(xmlschema_doc)
# Create a tree for the XML doc :
doc = etree.parse(xml_text)
# Validate the XML :
return c
И , если вы хотите, чтобы вы увидели исключение Попробуйте это:
xmlschema.assertValid(doc)
внутри:
return xmlschema.validate(doc)