I am interested in Python XML binding for reading input files conforming to this schema: http://ddex.net/xml/ern/341/release-notification.xsd
This XSD depends on a number of other ones though, most importantly: http://ddex.net/xml/20120404/ddexC.xsd and http://ddex.net/xml/20120404/ddex.xsd
My first attempt is by using generateDS. I am able to successfully generate binding for release-notification.xsd if I use --no-process-includes with:
./generateDS.py --no-process-includes -o release-notification.py release-notification.xsd
However, this leaves me with a Python object that is mostly useless since most of the ComplexTypes are defined in ddexC.xsd.
If I try it without --no-process-includes, I get:
RuntimeError: Extension/restriction recursion detected.
Suggest you check definitions of types ArtistRole and ArtistRole.
The definition referred to is this one:
<xs:element name="ArtistRole" maxOccurs="unbounded" type="ddexC:ArtistRole">
....
<xs:complexType name="ArtistRole">
<xs:simpleContent>
<xs:extension base="ddex:ArtistRole">
....
So it seems like the ddex and ddexC namespaces get mixed up somehow and a circular reference is created.
Any advice here?