from xml.parsers.xmlproc import xmlproc from xml.parsers.xmlproc import xmlval from xml.parsers.xmlproc import xmldtd def validar_xml(xml_fichero, dtd_fichero): """Valida un fichero XML con un ficheo DTD. Si el fichero XMl no es válido se imprime un mensaje de error. """ dtd = xmldtd.load_dtd(dtd_fichero) parser = xmlproc.XMLProcessor() parser.set_application(xmlval.ValidatingApp(dtd, parser)) parser.dtd = dtd parser.ent = dtd parser.parse_resource(xml_fichero) if __name__ == "__main__": import sys xml_fichero, dtd_fichero = sys.argv[1], sys.argv[2] validar_xml(xml_fichero, dtd_fichero)
Existe una librería ( lxml ) para el manejo de ficheros XML .