generateDS сделал именно то, что я хотел, способ работы с графом объектов данных, а не с графом узлов
побежал
python generateDS.py -o MedicationDS.py medication.xsd
дал мне класс Python, который я мог создать и заполнить данными, а затем отобразить в поток.
medObj = MedicationDS.Medication.factory()
medObj.set_dateStarted('2010-01-01')
medObj.set_dateStopped('2010-02-02')
medObj.set_reasonStopped('hurt my brain')
brandNameObj = MedicationDS.CodedValue.factory()
brandNameObj.set_abbrev('aspirin')
brandNameObj.set_value('aspirin')
medObj.set_brandName(brandNameObj)
xmlStr=StringIO()
medObj.export(xmlStr, 0)