Mostrando entradas con la etiqueta XML. Mostrar todas las entradas
Mostrando entradas con la etiqueta XML. Mostrar todas las entradas

Validando fichero XML con un DTD

Código para validar fichero XML con un fichero DTD:

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 .