Hi Dave,First off, thanks for this amazing library. I've been using it since a
few years for many projects and it works every time! For a new project I'm
working on, when I try to create classes out of the below xsd, I got some
incorrect output -
XSD====
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="<text_removed>" targetNamespace="<text_removed>"
xmlns:tns="<text_removed>" elementFormDefault="unqualified"
xmlns:common="<text_removed>">
<xs:simpleType name="matchingStrategy"> <xs:restriction
base="xs:string"> <xs:enumeration value="E" />
<xs:enumeration value="P" /> <xs:enumeration value="F" />
</xs:restriction> </xs:simpleType>
<xs:complexType name="Pi"> <xs:attribute name="ms"
type="tns:matchingStrategy" default="E"/> </xs:complexType>
</xs:schema>
Generated File============
--- snip ---
def exportAttributes(self, outfile, level, already_processed,
namespace_='tns:', name_='Pi'): if self.ms != E and 'ms' not in
already_processed: already_processed.add('ms')
outfile.write(' ms=%s' % (quote_attrib(self.ms), ))
--- snip ---
Please note that the double quotes around "E" are missing in the 'if' block. I
dug into generateDS.py to check the issue and made the below changes -
$ diff venv/bin/generateDS.py generateDS.py 1349,1351c1349,1351< if
self.data_type in SimpleElementDict:< typeObj =
SimpleElementDict[self.data_type]< typeObjType =
typeObj.getRawType()---> if strip_namespace(self.data_type) in
SimpleTypeDict:> typeObj =
SimpleTypeDict[strip_namespace(self.data_type)]> typeObjType =
typeObj.getBase()
The resulting generated file looks like -
--- snip --- def exportAttributes(self, outfile, level, already_processed,
namespace_='tns:', name_='Pi'): if self.ms != "E" and 'ms' not in
already_processed: already_processed.add('ms')
outfile.write(' ms=%s' %
(self.gds_format_string(quote_attrib(self.ms).encode(ExternalEncoding),
input_name='ms'), ))
--- snip ---
Do you think this change is correct? If not, could you please let me know if
I'm doing something incorrectly?
------------------------------------------------------------------------------
_______________________________________________
generateds-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/generateds-users