#!/usr/local/bin/python import sys try: import lxml.etree except ImportError: sys.exit("%s requires the lxml library" % sys.argv[0]) if len(sys.argv) == 3: schema_fn = sys.argv[1] doc_fn = sys.argv[2] else: sys.exit("Usage %s schema document" % sys.argv[0]) try: validator = lxml.etree.XMLSchema(lxml.etree.parse(schema_fn)) doc = lxml.etree.parse(doc_fn) validator.assertValid(doc) print "%s is valid (based on %s)" % (doc_fn, schema_fn) except EnvironmentError, e: sys.exit("%s" % e) except lxml.etree.DocumentInvalid, e: sys.exit("Validation failed: %s" % e)