from lxml import etree as E class DenyExternal(E.Resolver): def resolve(self, url, public_id, context): raise ValueError("External resources are disabled") def parse(text): if "-2" root = parse(source) print("Parsed:", root.tag) print("Missing:", len(root.xpath("missing"))) print("Business rule:", int(root.findtext("quantity")) >= 0)