Hey bud,
Here is a short list of XML Parsing software (with DTD Validation) that should help you with what you are trying to do:
PyLTXML
PyLTXML is a Python extension wrapping the LTXML parser. It supports DTD validation.
http://www.ltg.ed.ac.uk/software/xml/
cDomlette
cDomlette is part of 4Suite. It is a fast C-based DOM implementation with a Python API, and includes a wrapper of the expat parser. It supports DTD validation. It also supports XInclude and XML Base and XML entity catalogs.
http://4suite.org/
libxml/python
This Python extension module is a wrapper for libxml. It supports DTD validation, XInclude (plus XPointer), XML Base and XML Catalogs.
http://xmlsoft.org/python.html
pyRXP
pyRXP is a Python extension wrapping the RXP XML parser. It supports DTD validation.
http://www.reportlab.com/xml/pyrxp.html
pyexpat
Pyexpat is part of PyXML and is a wrapper of the expat parser. It supports DTD validation.
http://pyxml.sourceforge.net/
qp_xml
qp_xml is part of PyXML. It is a simple parser written entirely in Python with no validation support.
http://pyxml.sourceforge.net/
xmlproc
xmlproc is part of PyXML. It is a parser written entirely in Python. It supports DTD validation and XML catalogs. It provides API access to parsed DTD constructs.
http://pyxml.sourceforge.net/
I hope this helps.