Mein Vorschlag wäre, die startElement-Methode folgendermaßen abzuändern:
def startElement(self, name, attrs): self._emitChars() fmtAtts = " ".join(['%s="%s"'%it for it in attrs.items()]) if fmtAtts: fmtAtts = " "+fmtAtts self._printIndented("<%s%s>"%(name, fmtAtts)) self.elementStack.append(name)