diff --git a/README b/README index 3c2805e1ca61a549504486c2b0543cc87467fffb..e70ab60ac94ce2ae8785817f66d5a34b3a1d72ec 100644 --- a/README +++ b/README @@ -141,6 +141,28 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Change history -------------- +Version 2.25a (03/21/2017) + +- Fixes to the Django support for Python 3. Thanks to Shane Rigby + for all his help with all of these changes to the Django code. +- Added `optional` to the MemberSpec so that when command line + option "--member-specs" is "dict" or "list", the generated code + specifies whether the member is optional or not. +- In the Django support, `django/gends_run_gen_django.py` now has + new option "-s" ("--script") that can be used to write out the + command lines used internally by `django/gends_run_gen_django.py`. + This new flag can be used to generate a shell script that can be + run instead of `django/gends_run_gen_django.py`. (Note: The + script might require a minor edit or two.) +- In the Django support, there is now some attempt to treat optional + members specially and to generate "blank=True, null=True," in the + `models.py` file. +- Fix to Django support so that we generate *unique* names for + `related_name`. +- Added several date/time types for Django support: 'gYear', + 'gYearMonth', 'gMonth', 'gMonthDay', 'gDay', + + Version 2.24b (01/02/2017) - Added several fixes to generateDS.py and process_includes.py that diff --git a/django/gends_run_gen_django.py b/django/gends_run_gen_django.py index 7eb8742bdb141e54a699490fb31ee52be1e038a3..2786368b40bba8b2d3f0cf75ce8b1c1722b019e8 100755 --- a/django/gends_run_gen_django.py +++ b/django/gends_run_gen_django.py @@ -16,6 +16,8 @@ Options: -p, --path-to-generateDS-script=/path/to/generateDS.py Path to the generateDS.py script. -v, --verbose Display additional information while running. + -s, --script Write out (display) the command lines used. Can + be captured and used in a shell script, for example. Examples: python gends_run_gen_django.py my_schema.xsd python gends_run_gen_django.py -f -p ../generateDS.py my_other_schema.xsd @@ -90,7 +92,10 @@ def generate(options, schema_file_name): def run_cmd(options, args): - dbg_msg(options, '*** running %s\n' % (' '.join(args), )) + msg = '%s\n' % (' '.join(args), ) + dbg_msg(options, '*** running %s' % (msg, )) + if options['script']: + write_msg(options, msg) process = Popen(args, stderr=PIPE, stdout=PIPE) content1 = process.stderr.read() content2 = process.stdout.read() @@ -117,7 +122,17 @@ def exists(file_name): def dbg_msg(options, msg): if options['verbose']: + if isinstance(msg, str): + sys.stdout.write(msg) + else: + sys.stdout.write(msg.decode('utf-8')) + + +def write_msg(options, msg): + if isinstance(msg, str): sys.stdout.write(msg) + else: + sys.stdout.write(msg.decode('utf-8')) def usage(): @@ -127,8 +142,8 @@ def usage(): def main(): args = sys.argv[1:] try: - opts, args = getopt.getopt(args, 'hvfp:', [ - 'help', 'verbose', + opts, args = getopt.getopt(args, 'hvfp:s', [ + 'help', 'verbose', 'script', 'force', 'path-to-generateDS-script=', ]) except: @@ -136,6 +151,7 @@ def main(): options = {} options['force'] = False options['verbose'] = False + options['script'] = False options['path'] = './generateDS.py' for opt, val in opts: if opt in ('-h', '--help'): @@ -144,6 +160,8 @@ def main(): options['force'] = True elif opt in ('-v', '--verbose'): options['verbose'] = True + elif opt in ('-s', '--script'): + options['script'] = True elif opt in ('-p', '--path-to-generateDS-script'): options['path'] = val if not os.path.exists(options['path']): diff --git a/django/generatedssuper.py b/django/generatedssuper.py index 60c5b46198305a352e9170dd4bef8352f39a9874..741a499008be6384bf385fd9dd254d26eed854a7 100644 --- a/django/generatedssuper.py +++ b/django/generatedssuper.py @@ -172,7 +172,10 @@ class GeneratedsSuper(object): name += 'x' data_type = cleanupName(data_type) if data_type in Simple_type_table: - options = 'blank=True' + if is_optional: + options = 'blank=True, null=True' + else: + options = '' if data_type in Integer_type_table: wrtmodels(' %s = models.IntegerField(%s)\n' % ( name, options, )) @@ -218,8 +221,8 @@ class GeneratedsSuper(object): ' %s = models.ForeignKey(\n "%s_model",\n' % ( name, data_type, )) wrtmodels( - ' related_name="{}_{}",\n'.format( - name, data_type, )) + ' related_name="{}_{}_{}",\n'.format( + class_name, name, data_type, )) if is_optional: wrtmodels( ' blank=True, null=True,\n') diff --git a/generateDS.html b/generateDS.html index 1ee864e5614e1668266c452f280b4f67c2a7852f..360507346e871af15fbba0cff8a9fe9ba6d3172e 100644 --- a/generateDS.html +++ b/generateDS.html @@ -220,7 +220,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.24c</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.25a</td> </tr> </tbody> </table> @@ -229,7 +229,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">date:</th><td class="field-body">March 01, 2017</td> +<tr class="field"><th class="field-name">date:</th><td class="field-body">March 21, 2017</td> </tr> </tbody> </table> @@ -3187,7 +3187,7 @@ following among others:</p> <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateDS.txt">View document source</a>. -Generated on: 2017-03-01 22:05 UTC. +Generated on: 2017-03-21 19:50 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/generateDS.py b/generateDS.py index 52b6ebb66c3855b60a58d3b05c427e057f04ed1d..c26a2713b93e7a90139dc2f0031a1edb1dfe1f0e 100755 --- a/generateDS.py +++ b/generateDS.py @@ -204,7 +204,7 @@ logging.disable(logging.INFO) # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.24c' +VERSION = '2.25a' ##VERSION## if sys.version_info.major == 2: @@ -4748,12 +4748,13 @@ def generateMemberSpec(wrt, element): item1 = attrName item2 = attrDef.getType() item3 = 0 + item4 = 1 if attrDef.getUse() == 'optional' else 0 if generateDict: - item = " '%s': MemberSpec_('%s', '%s', %d)," % ( - item1, item1, item2, item3, ) + item = " '%s': MemberSpec_('%s', '%s', %d, %d)," % ( + item1, item1, item2, item3, item4, ) else: - item = " MemberSpec_('%s', '%s', %d)," % ( - item1, item2, item3, ) + item = " MemberSpec_('%s', '%s', %d, %d)," % ( + item1, item2, item3, item4, ) add(item) for child in element.getChildren(): name = cleanupName(child.getCleanName()) diff --git a/generateDS.txt b/generateDS.txt index d64c9ee86f5198ec78c3234737ef42ef6d6bdfbd..f07e88dc665d369f7028aac154e752ac169363b6 100644 --- a/generateDS.txt +++ b/generateDS.txt @@ -12,7 +12,7 @@ generateDS -- Generate Data Structures from XML Schema .. version -:revision: 2.24c +:revision: 2.25a .. version diff --git a/generateds_gui_notes.html b/generateds_gui_notes.html index 7c8b0d5a604089d10bea1a3bf5e4ee6467d46e5b..fd42cbb3287d28c6bc0ad35bfec1c09dbe967f6a 100644 --- a/generateds_gui_notes.html +++ b/generateds_gui_notes.html @@ -220,7 +220,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.24c</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.25a</td> </tr> </tbody> </table> @@ -229,7 +229,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">date:</th><td class="field-body">March 01, 2017</td> +<tr class="field"><th class="field-name">date:</th><td class="field-body">March 21, 2017</td> </tr> </tbody> </table> @@ -401,7 +401,7 @@ $ mv generateds_gui.mo locale/ru/LC_MESSAGES/ <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateds_gui_notes.txt">View document source</a>. -Generated on: 2017-03-01 22:05 UTC. +Generated on: 2017-03-21 19:50 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/generateds_gui_notes.txt b/generateds_gui_notes.txt index 9afb38eef8b8501bb292a168b5fa226244a8d12b..ca2d1d2be71a91e64d0af2af45a29c21539df79d 100644 --- a/generateds_gui_notes.txt +++ b/generateds_gui_notes.txt @@ -12,7 +12,7 @@ GenerateDS GUI Notes .. version -:revision: 2.24c +:revision: 2.25a .. version diff --git a/gui/generateds_gui.py b/gui/generateds_gui.py index c96bf5d4e0f94fdaba16a0f8597f1cf98fbdd8c4..d5cf4cdabcc493446f0e69bae3dada591dfbc337 100755 --- a/gui/generateds_gui.py +++ b/gui/generateds_gui.py @@ -41,7 +41,7 @@ from libgenerateDS.gui import generateds_gui_session # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.24c' +VERSION = '2.25a' ##VERSION## diff --git a/librarytemplate_howto.html b/librarytemplate_howto.html index 570a071d52e1cfcd0620b2a981f9fe30f23de9b7..1790efe5a88b98c6dd7264cdf2c27b38c695d3e7 100644 --- a/librarytemplate_howto.html +++ b/librarytemplate_howto.html @@ -217,7 +217,7 @@ dkuhlman (at) davekuhlman (dot) org <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.24c</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.25a</td> </tr> </tbody> </table> @@ -226,7 +226,7 @@ dkuhlman (at) davekuhlman (dot) org <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">date:</th><td class="field-body">March 01, 2017</td> +<tr class="field"><th class="field-name">date:</th><td class="field-body">March 21, 2017</td> </tr> </tbody> </table> @@ -380,7 +380,7 @@ this command for your needs. For example, you may need to use <div class="footer"> <hr class="footer" /> <a class="reference external" href="librarytemplate_howto.txt">View document source</a>. -Generated on: 2017-03-01 22:05 UTC. +Generated on: 2017-03-21 19:50 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/librarytemplate_howto.txt b/librarytemplate_howto.txt index 7a00efd2ce52795b8fde7944ad10080d4c29ad2c..a2a52cb06c982435ee0e2bf4099f2c6cb8e508e8 100644 --- a/librarytemplate_howto.txt +++ b/librarytemplate_howto.txt @@ -8,7 +8,7 @@ How to package a generateDS.py generated library .. version -:revision: 2.24c +:revision: 2.25a .. version diff --git a/process_includes.py b/process_includes.py index 10f5317bae696fe2e38809b00ad3544c46915b47..bbdc026ab857ebcc4ea09d331d3c50b2c78b764e 100755 --- a/process_includes.py +++ b/process_includes.py @@ -40,7 +40,7 @@ except ImportError: # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.24c' +VERSION = '2.25a' ##VERSION## CatalogDict = {} diff --git a/setup.py b/setup.py index a9055fd7b1e86840e8badeabd975b71100790918..adfdbd1259b077d2021d38313768c058a609c19d 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup(name="generateDS", # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## - version="2.24c", + version="2.25a", ##VERSION## author="Dave Kuhlman", author_email="dkuhlman@davekuhlman.org", diff --git a/tests/OnePer/oneperType00_2One.py b/tests/OnePer/oneperType00_2One.py index 99f1c66d91338fa210660a5a883d1334c303bcf4..96ad3987ec9b17b35e1d92e9a3901fa64aa99be3 100644 --- a/tests/OnePer/oneperType00_2One.py +++ b/tests/OnePer/oneperType00_2One.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,8 +666,8 @@ def _cast(typ, value): class oneperType00_1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('inner01', 'oneperType01_1', 0), - MemberSpec_('inner02', 'oneperType01_2', 0), + MemberSpec_('inner01', 'oneperType01_1', 0, 0), + MemberSpec_('inner02', 'oneperType01_2', 0, 0), ] subclass = None superclass = None diff --git a/tests/OnePer/oneperType01_2One.py b/tests/OnePer/oneperType01_2One.py index 652b9e635d13a8ed190b3446a469a7e8d2f08074..6b9aec3b013a81a01ffeb2bba977ddf2f5629371 100644 --- a/tests/OnePer/oneperType01_2One.py +++ b/tests/OnePer/oneperType01_2One.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,8 +666,8 @@ def _cast(typ, value): class oneperType01_1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('username', 'xs:string', 0), - MemberSpec_('inner01', 'oneperType01_2', 0), + MemberSpec_('username', 'xs:string', 0, 0), + MemberSpec_('inner01', 'oneperType01_2', 0, 0), ] subclass = None superclass = None @@ -749,7 +752,7 @@ class oneperType01_1(GeneratedsSuper): class oneperType01_2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('userdescription', 'xs:string', 0), + MemberSpec_('userdescription', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/OnePer/oneperType02_2One.py b/tests/OnePer/oneperType02_2One.py index 06578e2eb366080841fe96054d801d532eee79e8..55cbdf0fda175b43586389201b5294f18756caa3 100644 --- a/tests/OnePer/oneperType02_2One.py +++ b/tests/OnePer/oneperType02_2One.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,8 +666,8 @@ def _cast(typ, value): class oneperType02_1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('clientname', 'xs:string', 0), - MemberSpec_('inner01', 'oneperType02_2', 0), + MemberSpec_('clientname', 'xs:string', 0, 0), + MemberSpec_('inner01', 'oneperType02_2', 0, 0), ] subclass = None superclass = None @@ -749,7 +752,7 @@ class oneperType02_1(GeneratedsSuper): class oneperType02_2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('clientdescription', 'xs:string', 0), + MemberSpec_('clientdescription', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/OnePer/oneperType03_2One.py b/tests/OnePer/oneperType03_2One.py index 6bea073ef654d3a7e766156d4b222c02ca2f4608..f34f72684f352e525b8a8a551d8c66ad94e80a8a 100644 --- a/tests/OnePer/oneperType03_2One.py +++ b/tests/OnePer/oneperType03_2One.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,8 +666,8 @@ def _cast(typ, value): class oneperType03_1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('helpername', 'xs:string', 0), - MemberSpec_('inner01', 'oneperType02_2', 0), + MemberSpec_('helpername', 'xs:string', 0, 0), + MemberSpec_('inner01', 'oneperType02_2', 0, 0), ] subclass = None superclass = None @@ -749,7 +752,7 @@ class oneperType03_1(GeneratedsSuper): class oneperType03_2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('helperdescription', 'xs:string', 0), + MemberSpec_('helperdescription', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/abstract_type1_sup.py b/tests/abstract_type1_sup.py index 08422d5be4373b97720393e753eedde37b7f7a44..7d63ed14bc9e10df05751191289f6f5a490d5482 100644 --- a/tests/abstract_type1_sup.py +++ b/tests/abstract_type1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,7 +665,7 @@ def _cast(typ, value): class carrierType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('fleet', 'Vehicle', 1), + MemberSpec_('fleet', 'Vehicle', 1, 0), ] subclass = None superclass = None diff --git a/tests/annotations1_sup.py b/tests/annotations1_sup.py index 87aa8d70b223ad5ff70b3fa26b513b65d45e66b1..f7b7f4cb8d39d00351d49fd96ab4cf40c476baf9 100644 --- a/tests/annotations1_sup.py +++ b/tests/annotations1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -665,8 +668,8 @@ class document1Type(GeneratedsSuper): test purposes. It should make a somewhat uninteresting docstring.""" member_data_items_ = [ - MemberSpec_('comments', 'xs:string', 0), - MemberSpec_('otherdoc', 'document2Type', 0), + MemberSpec_('comments', 'xs:string', 0, 0), + MemberSpec_('otherdoc', 'document2Type', 0, 0), ] subclass = None superclass = None @@ -754,9 +757,9 @@ class document2Type(GeneratedsSuper): test purposes. It should make a somewhat uninteresting docstring.""" member_data_items_ = [ - MemberSpec_('comments', 'xs:string', 0), - MemberSpec_('rating', 'xs:integer', 0), - MemberSpec_('anotherdoc', 'document3Type', 0), + MemberSpec_('comments', 'xs:string', 0, 0), + MemberSpec_('rating', 'xs:integer', 0, 0), + MemberSpec_('anotherdoc', 'document3Type', 0, 0), ] subclass = None superclass = None @@ -857,8 +860,8 @@ class document2Type(GeneratedsSuper): class document3Type(GeneratedsSuper): """This is a element of Type 3. It is short.""" member_data_items_ = [ - MemberSpec_('comments', 'xs:string', 0), - MemberSpec_('rating', 'xs:integer', 0), + MemberSpec_('comments', 'xs:string', 0, 0), + MemberSpec_('rating', 'xs:integer', 0, 0), ] subclass = None superclass = None diff --git a/tests/anonymous_type1_sup.py b/tests/anonymous_type1_sup.py index e373bf8daab4da4cb32f052ec3e952f640d6dd49..54f4775c3bba0ae1c46ffa83be4af05db6904509 100644 --- a/tests/anonymous_type1_sup.py +++ b/tests/anonymous_type1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,9 +665,9 @@ def _cast(typ, value): class FooList(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('Foo', 'FooType1', 0), - MemberSpec_('Bar', 'BarType2', 0), - MemberSpec_('Baz', 'BazType3', 0), + MemberSpec_('Foo', 'FooType1', 0, 0), + MemberSpec_('Bar', 'BarType2', 0, 0), + MemberSpec_('Baz', 'BazType3', 0, 0), ] subclass = None superclass = None @@ -760,7 +763,7 @@ class FooList(GeneratedsSuper): class FooType1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('FooType', ['FooTypeType', 'xs:string'], 0), + MemberSpec_('FooType', ['FooTypeType', 'xs:string'], 0, 0), ] subclass = None superclass = None @@ -844,7 +847,7 @@ class FooType1(GeneratedsSuper): class BarType2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('BarType', ['BarTypeType', 'xs:string'], 0), + MemberSpec_('BarType', ['BarTypeType', 'xs:string'], 0, 0), ] subclass = None superclass = None @@ -928,7 +931,7 @@ class BarType2(GeneratedsSuper): class BazType3(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('BazType', ['BazTypeType', 'xs:string'], 0), + MemberSpec_('BazType', ['BazTypeType', 'xs:string'], 0, 0), ] subclass = None superclass = None diff --git a/tests/anysimpletype1_sup.py b/tests/anysimpletype1_sup.py index 28a1450c1f979bd311552f72174fd520349812a9..37b25dcd83423207dd9c3c99b0f2cad559262ea7 100644 --- a/tests/anysimpletype1_sup.py +++ b/tests/anysimpletype1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,8 +665,8 @@ def _cast(typ, value): class test1element(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('test1attribute', 'cimAnySimpleType', 0), - MemberSpec_('test1member', 'cimAnySimpleType', 0), + MemberSpec_('test1attribute', 'cimAnySimpleType', 0, 1), + MemberSpec_('test1member', 'cimAnySimpleType', 0, 0), ] subclass = None superclass = None diff --git a/tests/anywildcard1_sup.py b/tests/anywildcard1_sup.py index 2d7a08cf10e7261a4848b3fc6c0d6981fc689e87..fc9d2dde41bfcf9e8007136d472b93635734383e 100644 --- a/tests/anywildcard1_sup.py +++ b/tests/anywildcard1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,9 +665,9 @@ def _cast(typ, value): class PlantType_single(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('', 'xs:string', 0), - MemberSpec_('description', 'DescriptionType', 0), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('', 'xs:string', 0, 0), + MemberSpec_('description', 'DescriptionType', 0, 0), ] subclass = None superclass = None @@ -759,9 +762,9 @@ class PlantType_single(GeneratedsSuper): class PlantType_multiple(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('', 'xs:string', 1), - MemberSpec_('description', 'DescriptionType', 0), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('', 'xs:string', 1, 0), + MemberSpec_('description', 'DescriptionType', 0, 0), ] subclass = None superclass = None @@ -862,8 +865,8 @@ class PlantType_multiple(GeneratedsSuper): class DescriptionType(GeneratedsSuper): """A standard complexType.""" member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('size', 'xs:string', 0), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('size', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -949,8 +952,8 @@ class DescriptionType(GeneratedsSuper): class CatalogType(GeneratedsSuper): """A standard complexType.""" member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('catagory', 'xs:integer', 0), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('catagory', 'xs:integer', 0, 0), ] subclass = None superclass = None @@ -1039,7 +1042,7 @@ class CatalogType(GeneratedsSuper): class PlantType_single_nochild(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('', 'xs:string', 0), + MemberSpec_('', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1111,7 +1114,7 @@ class PlantType_single_nochild(GeneratedsSuper): class PlantType_multiple_nochild(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('', 'xs:string', 1), + MemberSpec_('', 'xs:string', 1, 0), ] subclass = None superclass = None diff --git a/tests/attr_groups1_sup.py b/tests/attr_groups1_sup.py index c9f62ff4f295ad00ecf29aa8795e6951a9a1c8f4..064f970eabda9b9db679727f9d15e342b7cfa170 100644 --- a/tests/attr_groups1_sup.py +++ b/tests/attr_groups1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,16 +665,16 @@ def _cast(typ, value): class GetUserReq(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('sequence', 'xsd:unsignedLong', 0), - MemberSpec_('value01', 'xsd:string', 0), - MemberSpec_('value02', 'xsd:integer', 0), - MemberSpec_('value03', 'xsd:string', 0), - MemberSpec_('value04', 'xsd:integer', 0), - MemberSpec_('value05', 'xsd:string', 0), - MemberSpec_('value06', 'xsd:integer', 0), - MemberSpec_('value07', 'xsd:integer', 0), - MemberSpec_('value08', 'xsd:string', 0), - MemberSpec_('returnedTags', 'xsd:string', 0), + MemberSpec_('sequence', 'xsd:unsignedLong', 0, 1), + MemberSpec_('value01', 'xsd:string', 0, 1), + MemberSpec_('value02', 'xsd:integer', 0, 1), + MemberSpec_('value03', 'xsd:string', 0, 1), + MemberSpec_('value04', 'xsd:integer', 0, 1), + MemberSpec_('value05', 'xsd:string', 0, 1), + MemberSpec_('value06', 'xsd:integer', 0, 1), + MemberSpec_('value07', 'xsd:integer', 0, 1), + MemberSpec_('value08', 'xsd:string', 0, 1), + MemberSpec_('returnedTags', 'xsd:string', 0, 1), ] subclass = None superclass = None diff --git a/tests/catalogtest1_sup.py b/tests/catalogtest1_sup.py index 6fa48d3c4398afc861ecdceffc8b796ed3e69bcb..08226684ea68920263a68aba9c576fda0a64a6e7 100644 --- a/tests/catalogtest1_sup.py +++ b/tests/catalogtest1_sup.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): diff --git a/tests/cdata1_sup.py b/tests/cdata1_sup.py index af309dd2e35b4f36d105538709760913b123ed6a..3ddcfae17c801282c47548168177ef6e6f473e6f 100644 --- a/tests/cdata1_sup.py +++ b/tests/cdata1_sup.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,7 +666,7 @@ def _cast(typ, value): class cdataListType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('cdatalist', 'cdataType', 1), + MemberSpec_('cdatalist', 'cdataType', 1, 1), ] subclass = None superclass = None @@ -743,7 +746,7 @@ class cdataListType(GeneratedsSuper): class cdataType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('script', 'xs:string', 0), + MemberSpec_('script', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/check_results.rb b/tests/check_results.rb index bdbec1e12a1bd16c2dceeddc35ca98d8ca4af072..f9ad8d8a969172380b39fcded3295e5356b87c81 100755 --- a/tests/check_results.rb +++ b/tests/check_results.rb @@ -65,6 +65,10 @@ $commands = [ "diff -u cleanupname1_sup.py cleanupname2_sup.py", "diff -u rem_dup_elems1_sub.py rem_dup_elems2_sub.py", "diff -u rem_dup_elems1_sup.py rem_dup_elems2_sup.py", + "diff -u nested_def1_sub.py nested_def2_sub.py", + "diff -u nested_def1_sup.py nested_def2_sup.py", + "diff -u catalogtest1_sub.py catalogtest2_sub.py", + "diff -u catalogtest1_sup.py catalogtest2_sup.py", ] def check diff --git a/tests/cleanupname1_sup.py b/tests/cleanupname1_sup.py index 59f05e9dd604760d92d7d16331f583a76c39b5a8..ce85f41d7cceaf54d80bda393d31fc814b1dee73 100644 --- a/tests/cleanupname1_sup.py +++ b/tests/cleanupname1_sup.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,11 +666,11 @@ def _cast(typ, value): class dataKind(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('data1', 'data1Type', 0), - MemberSpec_('data2', 'TypeData2', 0), - MemberSpec_('data3', 'RealTypeData3', 0), - MemberSpec_('data4', 'AABBCCdataType', 0), - MemberSpec_('data5', 'dataTypeXYZAXYZ', 0), + MemberSpec_('data1', 'data1Type', 0, 0), + MemberSpec_('data2', 'TypeData2', 0, 0), + MemberSpec_('data3', 'RealTypeData3', 0, 0), + MemberSpec_('data4', 'AABBCCdataType', 0, 0), + MemberSpec_('data5', 'dataTypeXYZAXYZ', 0, 0), ] subclass = None superclass = None @@ -785,7 +788,7 @@ class dataKind(GeneratedsSuper): class data1Kind(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('content1', 'xs:string', 0), + MemberSpec_('content1', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -859,7 +862,7 @@ class data1Kind(GeneratedsSuper): class MlassData2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('content1', 'xs:string', 0), + MemberSpec_('content1', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -933,7 +936,7 @@ class MlassData2(GeneratedsSuper): class RealTypeData3(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('content1', 'xs:string', 0), + MemberSpec_('content1', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1007,7 +1010,7 @@ class RealTypeData3(GeneratedsSuper): class MMMMMMdataKind(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('content1', 'xs:string', 0), + MemberSpec_('content1', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1081,7 +1084,7 @@ class MMMMMMdataKind(GeneratedsSuper): class dataTypeNNNMNNN(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('content1', 'xs:string', 0), + MemberSpec_('content1', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/defaults_cases1_sup.py b/tests/defaults_cases1_sup.py index 7eb901a6a4043631f36b1f956f351e8033507699..6a6b5dcc9bc2818c9104babb2a62e3cbdf10bc87 100644 --- a/tests/defaults_cases1_sup.py +++ b/tests/defaults_cases1_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,8 +664,8 @@ def _cast(typ, value): class DefaultTypes(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('default1', 'DefaultType1', 1), - MemberSpec_('default2', 'DefaultType2', 1), + MemberSpec_('default1', 'DefaultType1', 1, 0), + MemberSpec_('default2', 'DefaultType2', 1, 0), ] subclass = None superclass = None @@ -759,14 +762,14 @@ class DefaultTypes(GeneratedsSuper): class DefaultType1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('normal01', 'xs:integer', 0), - MemberSpec_('normal02', 'xs:string', 0), - MemberSpec_('default01', 'xs:integer', 0), - MemberSpec_('default02', 'xs:string', 0), - MemberSpec_('normal03', 'xs:float', 0), - MemberSpec_('normal04', 'xs:double', 0), - MemberSpec_('default03', 'xs:float', 0), - MemberSpec_('default04', 'xs:double', 0), + MemberSpec_('normal01', 'xs:integer', 0, 1), + MemberSpec_('normal02', 'xs:string', 0, 1), + MemberSpec_('default01', 'xs:integer', 0, 1), + MemberSpec_('default02', 'xs:string', 0, 1), + MemberSpec_('normal03', 'xs:float', 0, 0), + MemberSpec_('normal04', 'xs:double', 0, 0), + MemberSpec_('default03', 'xs:float', 0, 0), + MemberSpec_('default04', 'xs:double', 0, 0), ] subclass = None superclass = None @@ -941,10 +944,10 @@ class DefaultType1(GeneratedsSuper): class DefaultType2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('attrdefault01', 'xs:string', 0), - MemberSpec_('attrdefault02', 'xs:integer', 0), - MemberSpec_('attrnormal01', 'xs:string', 0), - MemberSpec_('attrnormal02', 'xs:integer', 0), + MemberSpec_('attrdefault01', 'xs:string', 0, 1), + MemberSpec_('attrdefault02', 'xs:integer', 0, 1), + MemberSpec_('attrnormal01', 'xs:string', 0, 1), + MemberSpec_('attrnormal02', 'xs:integer', 0, 1), ] subclass = None superclass = None diff --git a/tests/defaults_coverage1_sup.py b/tests/defaults_coverage1_sup.py index 702722d4eb944107837cd372a23c5b4b07f7cf01..7808d170a06ea558b76055846b823af8e89ed1c5 100644 --- a/tests/defaults_coverage1_sup.py +++ b/tests/defaults_coverage1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,8 +665,8 @@ def _cast(typ, value): class DefaultTypes(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('default1', 'DefaultType1', 0), - MemberSpec_('default2', 'DefaultType2', 0), + MemberSpec_('default1', 'DefaultType1', 0, 0), + MemberSpec_('default2', 'DefaultType2', 0, 0), ] subclass = None superclass = None @@ -748,23 +751,23 @@ class DefaultTypes(GeneratedsSuper): class DefaultType1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('default01', 'xs:integer', 0), - MemberSpec_('normal01', 'xs:integer', 0), - MemberSpec_('default02', 'xs:string', 0), - MemberSpec_('normal02', 'xs:string', 0), - MemberSpec_('default03', 'xs:float', 0), - MemberSpec_('normal03', 'xs:float', 0), - MemberSpec_('default04', 'xs:double', 0), - MemberSpec_('normal04', 'xs:double', 0), - MemberSpec_('default05a', 'xs:boolean', 0), - MemberSpec_('default05b', 'xs:boolean', 0), - MemberSpec_('normal05', 'xs:boolean', 0), - MemberSpec_('default06', 'xs:date', 0), - MemberSpec_('normal06', 'xs:date', 0), - MemberSpec_('default07', 'xs:time', 0), - MemberSpec_('normal07', 'xs:date', 0), - MemberSpec_('default08', 'xs:dateTime', 0), - MemberSpec_('normal08', 'xs:dateTime', 0), + MemberSpec_('default01', 'xs:integer', 0, 1), + MemberSpec_('normal01', 'xs:integer', 0, 1), + MemberSpec_('default02', 'xs:string', 0, 1), + MemberSpec_('normal02', 'xs:string', 0, 1), + MemberSpec_('default03', 'xs:float', 0, 1), + MemberSpec_('normal03', 'xs:float', 0, 1), + MemberSpec_('default04', 'xs:double', 0, 1), + MemberSpec_('normal04', 'xs:double', 0, 1), + MemberSpec_('default05a', 'xs:boolean', 0, 1), + MemberSpec_('default05b', 'xs:boolean', 0, 1), + MemberSpec_('normal05', 'xs:boolean', 0, 1), + MemberSpec_('default06', 'xs:date', 0, 1), + MemberSpec_('normal06', 'xs:date', 0, 1), + MemberSpec_('default07', 'xs:time', 0, 1), + MemberSpec_('normal07', 'xs:date', 0, 1), + MemberSpec_('default08', 'xs:dateTime', 0, 1), + MemberSpec_('normal08', 'xs:dateTime', 0, 1), ] subclass = None superclass = None @@ -1080,23 +1083,23 @@ class DefaultType1(GeneratedsSuper): class DefaultType2(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('default01', 'xs:integer', 0), - MemberSpec_('normal01', 'xs:integer', 0), - MemberSpec_('default02', 'xs:string', 0), - MemberSpec_('normal02', 'xs:string', 0), - MemberSpec_('default03', 'xs:float', 0), - MemberSpec_('normal03', 'xs:float', 0), - MemberSpec_('default04', 'xs:double', 0), - MemberSpec_('normal04', 'xs:double', 0), - MemberSpec_('default05a', 'xs:boolean', 0), - MemberSpec_('default05b', 'xs:boolean', 0), - MemberSpec_('normal05', 'xs:boolean', 0), - MemberSpec_('default06', 'xs:date', 0), - MemberSpec_('normal06', 'xs:date', 0), - MemberSpec_('default07', 'xs:time', 0), - MemberSpec_('normal07', 'xs:date', 0), - MemberSpec_('default08', 'xs:dateTime', 0), - MemberSpec_('normal08', 'xs:dateTime', 0), + MemberSpec_('default01', 'xs:integer', 0, 0), + MemberSpec_('normal01', 'xs:integer', 0, 0), + MemberSpec_('default02', 'xs:string', 0, 0), + MemberSpec_('normal02', 'xs:string', 0, 0), + MemberSpec_('default03', 'xs:float', 0, 0), + MemberSpec_('normal03', 'xs:float', 0, 0), + MemberSpec_('default04', 'xs:double', 0, 0), + MemberSpec_('normal04', 'xs:double', 0, 0), + MemberSpec_('default05a', 'xs:boolean', 0, 0), + MemberSpec_('default05b', 'xs:boolean', 0, 0), + MemberSpec_('normal05', 'xs:boolean', 0, 0), + MemberSpec_('default06', 'xs:date', 0, 0), + MemberSpec_('normal06', 'xs:date', 0, 0), + MemberSpec_('default07', 'xs:time', 0, 0), + MemberSpec_('normal07', 'xs:date', 0, 0), + MemberSpec_('default08', 'xs:dateTime', 0, 0), + MemberSpec_('normal08', 'xs:dateTime', 0, 0), ] subclass = None superclass = None diff --git a/tests/extensions1_sup.py b/tests/extensions1_sup.py index 5f3cb9a235b796f9f913d8e1ddd42c931fef22b4..18b6c74ae3bda8a2d92c6b7ce32f255c554c4234 100644 --- a/tests/extensions1_sup.py +++ b/tests/extensions1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,7 +665,7 @@ def _cast(typ, value): class SpecialDate(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('SpecialProperty', 'xs:string', 0), + MemberSpec_('SpecialProperty', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:date', 0), ] subclass = None @@ -737,7 +740,7 @@ class SpecialDate(GeneratedsSuper): class ExtremeDate(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('ExtremeProperty', 'xs:string', 0), + MemberSpec_('ExtremeProperty', 'xs:string', 0, 1), MemberSpec_('valueOf_', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0), ] subclass = None @@ -812,7 +815,7 @@ class ExtremeDate(GeneratedsSuper): class singleExtremeDate(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('ExtremeProperty', 'xs:string', 0), + MemberSpec_('ExtremeProperty', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -887,8 +890,8 @@ class singleExtremeDate(GeneratedsSuper): class containerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simplefactoid', 'simpleFactoidType', 1), - MemberSpec_('mixedfactoid', 'mixedFactoidType', 0), + MemberSpec_('simplefactoid', 'simpleFactoidType', 1, 0), + MemberSpec_('mixedfactoid', 'mixedFactoidType', 0, 0), ] subclass = None superclass = None @@ -979,7 +982,7 @@ class containerType(GeneratedsSuper): class simpleFactoidType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('relation', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0), + MemberSpec_('relation', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0, 0), ] subclass = None superclass = None @@ -1086,7 +1089,7 @@ class simpleFactoidType(GeneratedsSuper): class mixedFactoidType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('relation', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0), + MemberSpec_('relation', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0, 0), MemberSpec_('valueOf_', [], 0), ] subclass = None @@ -1211,8 +1214,8 @@ class mixedFactoidType(GeneratedsSuper): class BaseType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('BaseProperty1', 'xs:string', 0), - MemberSpec_('BaseProperty2', 'xs:string', 0), + MemberSpec_('BaseProperty1', 'xs:string', 0, 1), + MemberSpec_('BaseProperty2', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -1308,8 +1311,8 @@ class BaseType(GeneratedsSuper): class DerivedType(BaseType): member_data_items_ = [ - MemberSpec_('DerivedProperty1', 'xs:string', 0), - MemberSpec_('DerivedProperty2', 'xs:string', 0), + MemberSpec_('DerivedProperty1', 'xs:string', 0, 1), + MemberSpec_('DerivedProperty2', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'BaseType', 0), ] subclass = None @@ -1399,7 +1402,7 @@ class DerivedType(BaseType): class MyInteger(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('MyAttr', 'xs:string', 0), + MemberSpec_('MyAttr', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:integer', 0), ] subclass = None @@ -1474,7 +1477,7 @@ class MyInteger(GeneratedsSuper): class MyBoolean(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('MyAttr', 'xs:string', 0), + MemberSpec_('MyAttr', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:boolean', 0), ] subclass = None @@ -1549,7 +1552,7 @@ class MyBoolean(GeneratedsSuper): class MyFloat(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('MyAttr', 'xs:string', 0), + MemberSpec_('MyAttr', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:float', 0), ] subclass = None @@ -1624,7 +1627,7 @@ class MyFloat(GeneratedsSuper): class MyDouble(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('MyAttr', 'xs:string', 0), + MemberSpec_('MyAttr', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:double', 0), ] subclass = None diff --git a/tests/ipo1_sup.py b/tests/ipo1_sup.py index 5a27592754e45bc90b47137af1daf1a986974597..a8103241d16d691fd4fa944621e02e07fb521236 100644 --- a/tests/ipo1_sup.py +++ b/tests/ipo1_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,11 +664,11 @@ def _cast(typ, value): class PurchaseOrderType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('orderDate', 'date', 0), - MemberSpec_('shipTo', 'Address', 0), - MemberSpec_('billTo', 'Address', 0), - MemberSpec_('comment', 'string', 0), - MemberSpec_('items', 'Items', 0), + MemberSpec_('orderDate', 'date', 0, 1), + MemberSpec_('shipTo', 'Address', 0, 0), + MemberSpec_('billTo', 'Address', 0, 0), + MemberSpec_('comment', 'string', 0, 1), + MemberSpec_('items', 'Items', 0, 0), ] subclass = None superclass = None @@ -789,7 +792,7 @@ class PurchaseOrderType(GeneratedsSuper): class Items(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('item', 'item', 1), + MemberSpec_('item', 'item', 1, 1), ] subclass = None superclass = None @@ -869,12 +872,12 @@ class Items(GeneratedsSuper): class item(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('partNum', 'ipo:SKU', 0), - MemberSpec_('productName', 'string', 0), - MemberSpec_('quantity', ['quantity', 'positiveInteger'], 0), - MemberSpec_('USPrice', 'decimal', 0), - MemberSpec_('comment', 'string', 0), - MemberSpec_('shipDate', 'date', 0), + MemberSpec_('partNum', 'ipo:SKU', 0, 0), + MemberSpec_('productName', 'string', 0, 0), + MemberSpec_('quantity', ['quantity', 'positiveInteger'], 0, 0), + MemberSpec_('USPrice', 'decimal', 0, 0), + MemberSpec_('comment', 'string', 0, 1), + MemberSpec_('shipDate', 'date', 0, 1), ] subclass = None superclass = None @@ -1075,9 +1078,9 @@ class quantity(GeneratedsSuper): class Address(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'string', 0), - MemberSpec_('street', 'string', 0), - MemberSpec_('city', 'string', 0), + MemberSpec_('name', 'string', 0, 0), + MemberSpec_('street', 'string', 0, 0), + MemberSpec_('city', 'string', 0, 0), ] subclass = None superclass = None @@ -1183,8 +1186,8 @@ class Address(GeneratedsSuper): class USAddress(Address): member_data_items_ = [ - MemberSpec_('state', ['USState', 'string'], 0), - MemberSpec_('zip', 'positiveInteger', 0), + MemberSpec_('state', ['USState', 'string'], 0, 0), + MemberSpec_('zip', 'positiveInteger', 0, 0), ] subclass = None superclass = Address @@ -1294,8 +1297,8 @@ class USAddress(Address): class UKAddress(Address): member_data_items_ = [ - MemberSpec_('exportCode', 'positiveInteger', 0), - MemberSpec_('postcode', 'string', 0), + MemberSpec_('exportCode', 'positiveInteger', 0, 1), + MemberSpec_('postcode', 'string', 0, 0), ] subclass = None superclass = Address diff --git a/tests/ipo2_sup.py b/tests/ipo2_sup.py index 5a27592754e45bc90b47137af1daf1a986974597..a8103241d16d691fd4fa944621e02e07fb521236 100644 --- a/tests/ipo2_sup.py +++ b/tests/ipo2_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,11 +664,11 @@ def _cast(typ, value): class PurchaseOrderType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('orderDate', 'date', 0), - MemberSpec_('shipTo', 'Address', 0), - MemberSpec_('billTo', 'Address', 0), - MemberSpec_('comment', 'string', 0), - MemberSpec_('items', 'Items', 0), + MemberSpec_('orderDate', 'date', 0, 1), + MemberSpec_('shipTo', 'Address', 0, 0), + MemberSpec_('billTo', 'Address', 0, 0), + MemberSpec_('comment', 'string', 0, 1), + MemberSpec_('items', 'Items', 0, 0), ] subclass = None superclass = None @@ -789,7 +792,7 @@ class PurchaseOrderType(GeneratedsSuper): class Items(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('item', 'item', 1), + MemberSpec_('item', 'item', 1, 1), ] subclass = None superclass = None @@ -869,12 +872,12 @@ class Items(GeneratedsSuper): class item(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('partNum', 'ipo:SKU', 0), - MemberSpec_('productName', 'string', 0), - MemberSpec_('quantity', ['quantity', 'positiveInteger'], 0), - MemberSpec_('USPrice', 'decimal', 0), - MemberSpec_('comment', 'string', 0), - MemberSpec_('shipDate', 'date', 0), + MemberSpec_('partNum', 'ipo:SKU', 0, 0), + MemberSpec_('productName', 'string', 0, 0), + MemberSpec_('quantity', ['quantity', 'positiveInteger'], 0, 0), + MemberSpec_('USPrice', 'decimal', 0, 0), + MemberSpec_('comment', 'string', 0, 1), + MemberSpec_('shipDate', 'date', 0, 1), ] subclass = None superclass = None @@ -1075,9 +1078,9 @@ class quantity(GeneratedsSuper): class Address(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'string', 0), - MemberSpec_('street', 'string', 0), - MemberSpec_('city', 'string', 0), + MemberSpec_('name', 'string', 0, 0), + MemberSpec_('street', 'string', 0, 0), + MemberSpec_('city', 'string', 0, 0), ] subclass = None superclass = None @@ -1183,8 +1186,8 @@ class Address(GeneratedsSuper): class USAddress(Address): member_data_items_ = [ - MemberSpec_('state', ['USState', 'string'], 0), - MemberSpec_('zip', 'positiveInteger', 0), + MemberSpec_('state', ['USState', 'string'], 0, 0), + MemberSpec_('zip', 'positiveInteger', 0, 0), ] subclass = None superclass = Address @@ -1294,8 +1297,8 @@ class USAddress(Address): class UKAddress(Address): member_data_items_ = [ - MemberSpec_('exportCode', 'positiveInteger', 0), - MemberSpec_('postcode', 'string', 0), + MemberSpec_('exportCode', 'positiveInteger', 0, 1), + MemberSpec_('postcode', 'string', 0, 0), ] subclass = None superclass = Address diff --git a/tests/mapcleanname1_sup.py b/tests/mapcleanname1_sup.py index 02e113620bfb1f7086686a1c1bcfb14b9a5b80fa..f6017af6ae1985ce90f15593977aa45383e494cd 100644 --- a/tests/mapcleanname1_sup.py +++ b/tests/mapcleanname1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,10 +665,10 @@ def _cast(typ, value): class complex_type01(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('string_value01', 'xs:string', 0), - MemberSpec_('integer_value01', 'xs:integer', 1), - MemberSpec_('float_value01', 'xs:float', 0), - MemberSpec_('field01', 'complex-type02', 0), + MemberSpec_('string_value01', 'xs:string', 0, 0), + MemberSpec_('integer_value01', 'xs:integer', 1, 1), + MemberSpec_('float_value01', 'xs:float', 0, 0), + MemberSpec_('field01', 'complex-type02', 0, 0), ] subclass = None superclass = None @@ -786,9 +789,9 @@ class complex_type01(GeneratedsSuper): class complex_type02(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('string_value02', 'xs:string', 0), - MemberSpec_('integer_value02', 'xs:integer', 1), - MemberSpec_('float_value02', 'xs:float', 0), + MemberSpec_('string_value02', 'xs:string', 0, 0), + MemberSpec_('integer_value02', 'xs:integer', 1, 1), + MemberSpec_('float_value02', 'xs:float', 0, 0), ] subclass = None superclass = None @@ -908,9 +911,9 @@ class complex_type02(GeneratedsSuper): class complex_type03(complex_type02): member_data_items_ = [ - MemberSpec_('string_value03', 'xs:string', 0), - MemberSpec_('integer_value03', 'xs:integer', 1), - MemberSpec_('float_value03', 'xs:float', 0), + MemberSpec_('string_value03', 'xs:string', 0, 0), + MemberSpec_('integer_value03', 'xs:integer', 1, 1), + MemberSpec_('float_value03', 'xs:float', 0, 0), ] subclass = None superclass = complex_type02 @@ -1024,9 +1027,9 @@ class complex_type03(complex_type02): class type_(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('string_value02', 'xs:string', 0), - MemberSpec_('integer_value02', 'xs:integer', 1), - MemberSpec_('float_value02', 'xs:float', 0), + MemberSpec_('string_value02', 'xs:string', 0, 0), + MemberSpec_('integer_value02', 'xs:integer', 1, 1), + MemberSpec_('float_value02', 'xs:float', 0, 0), ] subclass = None superclass = None @@ -1146,9 +1149,9 @@ class type_(GeneratedsSuper): class complex_type04(type_): member_data_items_ = [ - MemberSpec_('string_value03', 'xs:string', 0), - MemberSpec_('integer_value03', 'xs:integer', 1), - MemberSpec_('float_value03', 'xs:float', 0), + MemberSpec_('string_value03', 'xs:string', 0, 0), + MemberSpec_('integer_value03', 'xs:integer', 1, 1), + MemberSpec_('float_value03', 'xs:float', 0, 0), ] subclass = None superclass = type_ @@ -1262,9 +1265,9 @@ class complex_type04(type_): class build_(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('string_value02', 'xs:string', 0), - MemberSpec_('integer_value02', 'xs:integer', 1), - MemberSpec_('float_value02', 'xs:float', 0), + MemberSpec_('string_value02', 'xs:string', 0, 0), + MemberSpec_('integer_value02', 'xs:integer', 1, 1), + MemberSpec_('float_value02', 'xs:float', 0, 0), ] subclass = None superclass = None @@ -1384,9 +1387,9 @@ class build_(GeneratedsSuper): class complex_type05(build_): member_data_items_ = [ - MemberSpec_('string_value03', 'xs:string', 0), - MemberSpec_('integer_value03', 'xs:integer', 1), - MemberSpec_('float_value03', 'xs:float', 0), + MemberSpec_('string_value03', 'xs:string', 0, 0), + MemberSpec_('integer_value03', 'xs:integer', 1, 1), + MemberSpec_('float_value03', 'xs:float', 0, 0), ] subclass = None superclass = build_ diff --git a/tests/nested_def1_sup.py b/tests/nested_def1_sup.py index a0ca03d3cc37ea8c1c14a8f99d5baefe0240f748..86079794fe66bf243a5209cc045dd1cac5c1d855 100644 --- a/tests/nested_def1_sup.py +++ b/tests/nested_def1_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,8 +664,8 @@ def _cast(typ, value): class containerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('item1', 'classAType', 0), - MemberSpec_('item2', 'classBType', 0), + MemberSpec_('item1', 'classAType', 0, 0), + MemberSpec_('item2', 'classBType', 0, 0), ] subclass = None superclass = None @@ -747,7 +750,7 @@ class containerType(GeneratedsSuper): class classAType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('inner', 'innerType', 0), + MemberSpec_('inner', 'innerType', 0, 0), ] subclass = None superclass = None @@ -821,7 +824,7 @@ class classAType(GeneratedsSuper): class classBType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('inner', 'innerType1', 0), + MemberSpec_('inner', 'innerType1', 0, 0), ] subclass = None superclass = None @@ -895,8 +898,8 @@ class classBType(GeneratedsSuper): class innerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('attrA1', 'xs:string', 0), - MemberSpec_('attrA2', 'xs:string', 0), + MemberSpec_('attrA1', 'xs:string', 0, 1), + MemberSpec_('attrA2', 'xs:string', 0, 1), ] subclass = None superclass = None @@ -975,8 +978,8 @@ class innerType(GeneratedsSuper): class innerType1(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('attrB1', 'xs:string', 0), - MemberSpec_('attrB2', 'xs:string', 0), + MemberSpec_('attrB1', 'xs:string', 0, 1), + MemberSpec_('attrB2', 'xs:string', 0, 1), ] subclass = None superclass = None diff --git a/tests/out1_sup.py b/tests/out1_sup.py index 7d3900a737b2bc602834764aeed8b15f69d675ae..3530babe3909ec04d9d6225f39c647155e3ae096 100644 --- a/tests/out1_sup.py +++ b/tests/out1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,11 +665,11 @@ def _cast(typ, value): class people(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('comments', 'comments', 1), - MemberSpec_('person', 'person', 1), - MemberSpec_('programmer', 'programmer', 1), - MemberSpec_('python_programmer', 'python-programmer', 1), - MemberSpec_('java_programmer', 'java-programmer', 1), + MemberSpec_('comments', 'comments', 1, 0), + MemberSpec_('person', 'person', 1, 0), + MemberSpec_('programmer', 'programmer', 1, 0), + MemberSpec_('python_programmer', 'python-programmer', 1, 0), + MemberSpec_('java_programmer', 'java-programmer', 1, 0), ] subclass = None superclass = None @@ -936,7 +939,7 @@ class people(GeneratedsSuper): class comments(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('emp', 'xs:string', 1), + MemberSpec_('emp', 'xs:string', 1, 0), MemberSpec_('valueOf_', [], 0), ] subclass = None @@ -1100,17 +1103,17 @@ class comments(GeneratedsSuper): class person(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('value', 'xs:string', 0), - MemberSpec_('id', 'xs:integer', 0), - MemberSpec_('ratio', 'xs:float', 0), - MemberSpec_('fruit', 'xs:string', 0), - MemberSpec_('vegetable', 'xs:string', 0), - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('interest', 'xs:string', 1), - MemberSpec_('category', 'xs:integer', 0), - MemberSpec_('agent', 'agent', 1), - MemberSpec_('promoter', 'booster', 1), - MemberSpec_('description', 'xs:string', 0), + MemberSpec_('value', 'xs:string', 0, 1), + MemberSpec_('id', 'xs:integer', 0, 1), + MemberSpec_('ratio', 'xs:float', 0, 1), + MemberSpec_('fruit', 'xs:string', 0, 1), + MemberSpec_('vegetable', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('interest', 'xs:string', 1, 0), + MemberSpec_('category', 'xs:integer', 0, 0), + MemberSpec_('agent', 'agent', 1, 0), + MemberSpec_('promoter', 'booster', 1, 0), + MemberSpec_('description', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1442,24 +1445,24 @@ class person(GeneratedsSuper): class programmer(person): member_data_items_ = [ - MemberSpec_('language', 'xs:string', 0), - MemberSpec_('area', 'xs:string', 0), - MemberSpec_('attrposint', 'xs:positiveInteger', 0), - MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('attrnegint', 'xs:negativeInteger', 0), - MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('email', 'xs:string', 0), - MemberSpec_('elposint', 'xs:positiveInteger', 0), - MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('elnegint', 'xs:negativeInteger', 0), - MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('eldate', 'xs:date', 0), - MemberSpec_('eldatetime', 'xs:dateTime', 0), - MemberSpec_('eltoken', 'xs:token', 0), - MemberSpec_('elshort', 'xs:short', 0), - MemberSpec_('ellong', 'xs:long', 0), - MemberSpec_('elparam', 'param', 0), - MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0), + MemberSpec_('language', 'xs:string', 0, 1), + MemberSpec_('area', 'xs:string', 0, 1), + MemberSpec_('attrposint', 'xs:positiveInteger', 0, 1), + MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0, 1), + MemberSpec_('attrnegint', 'xs:negativeInteger', 0, 1), + MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0, 1), + MemberSpec_('email', 'xs:string', 0, 0), + MemberSpec_('elposint', 'xs:positiveInteger', 0, 0), + MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0, 0), + MemberSpec_('elnegint', 'xs:negativeInteger', 0, 0), + MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0, 0), + MemberSpec_('eldate', 'xs:date', 0, 0), + MemberSpec_('eldatetime', 'xs:dateTime', 0, 0), + MemberSpec_('eltoken', 'xs:token', 0, 0), + MemberSpec_('elshort', 'xs:short', 0, 0), + MemberSpec_('ellong', 'xs:long', 0, 0), + MemberSpec_('elparam', 'param', 0, 0), + MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0, 0), ] subclass = None superclass = person @@ -1929,12 +1932,12 @@ class param(GeneratedsSuper): """Finding flow attribute unneccesary in practice. A unnamed parameter is unbound/skipped.""" member_data_items_ = [ - MemberSpec_('id', 'xs:string', 0), - MemberSpec_('name', 'xs:NCName', 0), - MemberSpec_('sid', 'xs:NCName', 0), - MemberSpec_('flow', 'FlowType', 0), - MemberSpec_('semantic', 'xs:token', 0), - MemberSpec_('type', 'xs:NMTOKEN', 0), + MemberSpec_('id', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:NCName', 0, 1), + MemberSpec_('sid', 'xs:NCName', 0, 1), + MemberSpec_('flow', 'FlowType', 0, 1), + MemberSpec_('semantic', 'xs:token', 0, 1), + MemberSpec_('type', 'xs:NMTOKEN', 0, 0), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -2141,8 +2144,8 @@ class param(GeneratedsSuper): class python_programmer(programmer): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = programmer @@ -2293,9 +2296,9 @@ class python_programmer(programmer): class java_programmer(programmer): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('status', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('status', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = programmer @@ -2460,10 +2463,10 @@ class java_programmer(programmer): class agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), ] subclass = None superclass = None @@ -2644,10 +2647,10 @@ class agent(GeneratedsSuper): class special_agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), ] subclass = None superclass = None @@ -2828,13 +2831,13 @@ class special_agent(GeneratedsSuper): class booster(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('other_name', 'xs:float', 0), - MemberSpec_('class_', 'xs:float', 0), - MemberSpec_('other_value', 'xs:float', 1), - MemberSpec_('type_', 'xs:float', 1), - MemberSpec_('client_handler', 'client-handlerType', 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('other_name', 'xs:float', 0, 0), + MemberSpec_('class_', 'xs:float', 0, 0), + MemberSpec_('other_value', 'xs:float', 1, 0), + MemberSpec_('type_', 'xs:float', 1, 0), + MemberSpec_('client_handler', 'client-handlerType', 1, 0), ] subclass = None superclass = None @@ -3105,9 +3108,9 @@ class booster(GeneratedsSuper): class info(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('type', 'xs:integer', 0), - MemberSpec_('rating', 'xs:float', 0), + MemberSpec_('name', 'xs:string', 0, 1), + MemberSpec_('type', 'xs:integer', 0, 1), + MemberSpec_('rating', 'xs:float', 0, 1), ] subclass = None superclass = None @@ -3269,8 +3272,8 @@ class info(GeneratedsSuper): class client_handlerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('fullname', 'xs:string', 0), - MemberSpec_('refid', 'xs:integer', 0), + MemberSpec_('fullname', 'xs:string', 0, 0), + MemberSpec_('refid', 'xs:integer', 0, 0), ] subclass = None superclass = None diff --git a/tests/people_procincl1_sup.py b/tests/people_procincl1_sup.py index dac3ff1ee9071ec36b27a023f71086dbc60f41b6..6898534bf8f60c78a48f378635a1f53d0725340b 100644 --- a/tests/people_procincl1_sup.py +++ b/tests/people_procincl1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,12 +666,12 @@ def _cast(typ, value): class people(GeneratedsSuper): """A list of people.""" member_data_items_ = [ - MemberSpec_('comments', 'comments', 1), - MemberSpec_('person', 'person', 1), - MemberSpec_('specialperson', 'specialperson', 1), - MemberSpec_('programmer', 'programmer', 1), - MemberSpec_('python_programmer', 'python-programmer', 1), - MemberSpec_('java_programmer', 'java-programmer', 1), + MemberSpec_('comments', 'comments', 1, 0), + MemberSpec_('person', 'person', 1, 0), + MemberSpec_('specialperson', 'specialperson', 1, 0), + MemberSpec_('programmer', 'programmer', 1, 0), + MemberSpec_('python_programmer', 'python-programmer', 1, 0), + MemberSpec_('java_programmer', 'java-programmer', 1, 0), ] subclass = None superclass = None @@ -835,8 +838,8 @@ class people(GeneratedsSuper): class comments(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('emp', 'xs:string', 1), - MemberSpec_('bold', 'xs:string', 1), + MemberSpec_('emp', 'xs:string', 1, 0), + MemberSpec_('bold', 'xs:string', 1, 0), MemberSpec_('valueOf_', [], 0), ] subclass = None @@ -954,17 +957,17 @@ class person(GeneratedsSuper): of people. They are each an extension of this base type of person.""" member_data_items_ = [ - MemberSpec_('value', 'xs:string', 0), - MemberSpec_('id', 'xs:integer', 0), - MemberSpec_('ratio', 'xs:float', 0), - MemberSpec_('fruit', 'xs:string', 0), - MemberSpec_('vegetable', 'xs:string', 0), - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('interest', 'xs:string', 1), - MemberSpec_('category', 'xs:integer', 0), - MemberSpec_('agent', 'agent', 1), - MemberSpec_('promoter', 'booster', 1), - MemberSpec_('description', 'xs:string', 0), + MemberSpec_('value', 'xs:string', 0, 1), + MemberSpec_('id', 'xs:integer', 0, 1), + MemberSpec_('ratio', 'xs:float', 0, 1), + MemberSpec_('fruit', 'xs:string', 0, 1), + MemberSpec_('vegetable', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('interest', 'xs:string', 1, 0), + MemberSpec_('category', 'xs:integer', 0, 0), + MemberSpec_('agent', 'agent', 1, 0), + MemberSpec_('promoter', 'booster', 1, 0), + MemberSpec_('description', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1245,12 +1248,12 @@ class param(GeneratedsSuper): """Finding flow attribute unneccesary in practice. A unnamed parameter is unbound/skipped.""" member_data_items_ = [ - MemberSpec_('id', 'xs:string', 0), - MemberSpec_('name', 'xs:NCName', 0), - MemberSpec_('sid', 'xs:NCName', 0), - MemberSpec_('flow', 'FlowType', 0), - MemberSpec_('semantic', 'xs:token', 0), - MemberSpec_('type', 'xs:NMTOKEN', 0), + MemberSpec_('id', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:NCName', 0, 1), + MemberSpec_('sid', 'xs:NCName', 0, 1), + MemberSpec_('flow', 'FlowType', 0, 1), + MemberSpec_('semantic', 'xs:token', 0, 1), + MemberSpec_('type', 'xs:NMTOKEN', 0, 0), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -1376,11 +1379,11 @@ class param(GeneratedsSuper): class agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), - MemberSpec_('vehicle', 'vehicle', 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), + MemberSpec_('vehicle', 'vehicle', 1, 1), ] subclass = None superclass = None @@ -1524,10 +1527,10 @@ class special_agent(GeneratedsSuper): """This is a good kind of agent for testing the generation of Python bindings for an XML schema.""" member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), ] subclass = None superclass = None @@ -1638,14 +1641,14 @@ class special_agent(GeneratedsSuper): class booster(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('member-id', 'xs:string', 0), - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('other_name', 'xs:float', 0), - MemberSpec_('class_', 'xs:float', 0), - MemberSpec_('other_value', 'xs:float', 1), - MemberSpec_('type_', 'xs:float', 1), - MemberSpec_('client_handler', 'client-handlerType', 1), + MemberSpec_('member-id', 'xs:string', 0, 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('other_name', 'xs:float', 0, 0), + MemberSpec_('class_', 'xs:float', 0, 0), + MemberSpec_('other_value', 'xs:float', 1, 0), + MemberSpec_('type_', 'xs:float', 1, 0), + MemberSpec_('client_handler', 'client-handlerType', 1, 0), ] subclass = None superclass = None @@ -1827,9 +1830,9 @@ class booster(GeneratedsSuper): class info(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('type', 'xs:integer', 0), - MemberSpec_('rating', 'xs:float', 0), + MemberSpec_('name', 'xs:string', 0, 1), + MemberSpec_('type', 'xs:integer', 0, 1), + MemberSpec_('rating', 'xs:float', 0, 1), ] subclass = None superclass = None @@ -1924,7 +1927,7 @@ class info(GeneratedsSuper): class vehicle(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('wheelcount', 'xs:integer', 0), + MemberSpec_('wheelcount', 'xs:integer', 0, 0), ] subclass = None superclass = None @@ -2012,7 +2015,7 @@ class vehicle(GeneratedsSuper): class automobile(vehicle): member_data_items_ = [ - MemberSpec_('drivername', 'xs:string', 0), + MemberSpec_('drivername', 'xs:string', 0, 0), ] subclass = None superclass = vehicle @@ -2090,7 +2093,7 @@ class automobile(vehicle): class airplane(vehicle): member_data_items_ = [ - MemberSpec_('pilotname', 'xs:string', 0), + MemberSpec_('pilotname', 'xs:string', 0, 0), ] subclass = None superclass = vehicle @@ -2170,23 +2173,23 @@ class programmer(person): """A programmer type of person. Programmers are very special but also a little shy.""" member_data_items_ = [ - MemberSpec_('language', 'xs:string', 0), - MemberSpec_('area', 'xs:string', 0), - MemberSpec_('attrposint', 'xs:positiveInteger', 0), - MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('attrnegint', 'xs:negativeInteger', 0), - MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('email', 'xs:string', 0), - MemberSpec_('elposint', 'xs:positiveInteger', 0), - MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('elnegint', 'xs:negativeInteger', 0), - MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('eldate', 'xs:date', 0), - MemberSpec_('eltoken', 'xs:token', 0), - MemberSpec_('elshort', 'xs:short', 0), - MemberSpec_('ellong', 'xs:long', 0), - MemberSpec_('elparam', 'param', 0), - MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0), + MemberSpec_('language', 'xs:string', 0, 1), + MemberSpec_('area', 'xs:string', 0, 1), + MemberSpec_('attrposint', 'xs:positiveInteger', 0, 1), + MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0, 1), + MemberSpec_('attrnegint', 'xs:negativeInteger', 0, 1), + MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0, 1), + MemberSpec_('email', 'xs:string', 0, 0), + MemberSpec_('elposint', 'xs:positiveInteger', 0, 0), + MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0, 0), + MemberSpec_('elnegint', 'xs:negativeInteger', 0, 0), + MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0, 0), + MemberSpec_('eldate', 'xs:date', 0, 0), + MemberSpec_('eltoken', 'xs:token', 0, 0), + MemberSpec_('elshort', 'xs:short', 0, 0), + MemberSpec_('ellong', 'xs:long', 0, 0), + MemberSpec_('elparam', 'param', 0, 0), + MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0, 0), ] subclass = None superclass = person @@ -2520,8 +2523,8 @@ class programmer(person): class client_handlerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('fullname', 'xs:string', 0), - MemberSpec_('refid', 'xs:integer', 0), + MemberSpec_('fullname', 'xs:string', 0, 0), + MemberSpec_('refid', 'xs:integer', 0, 0), ] subclass = None superclass = None @@ -2613,9 +2616,9 @@ class java_programmer(programmer): Java programmers are nice also, but not as especially wonderful as Python programmers, of course.""" member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('status', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('status', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = programmer @@ -2715,8 +2718,8 @@ class python_programmer(programmer): """A Python programmer type of person. Programmers are very special and Python programmers are especially wonderful kinds of people.""" member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = programmer diff --git a/tests/prefix_classname1_sup.py b/tests/prefix_classname1_sup.py index eddff8707c242b1a2f0c8a646a431cabd81efb0c..e0fa52d4e7e2e732abd726cb1ff29f8dff040592 100644 --- a/tests/prefix_classname1_sup.py +++ b/tests/prefix_classname1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,11 +665,11 @@ def _cast(typ, value): class tomato_people(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('comments', 'comments', 1), - MemberSpec_('person', 'person', 1), - MemberSpec_('programmer', 'programmer', 1), - MemberSpec_('python_programmer', 'python-programmer', 1), - MemberSpec_('java_programmer', 'java-programmer', 1), + MemberSpec_('comments', 'comments', 1, 0), + MemberSpec_('person', 'person', 1, 0), + MemberSpec_('programmer', 'programmer', 1, 0), + MemberSpec_('python_programmer', 'python-programmer', 1, 0), + MemberSpec_('java_programmer', 'java-programmer', 1, 0), ] subclass = None superclass = None @@ -816,7 +819,7 @@ class tomato_people(GeneratedsSuper): class tomato_comments(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('emp', 'xs:string', 1), + MemberSpec_('emp', 'xs:string', 1, 0), MemberSpec_('valueOf_', [], 0), ] subclass = None @@ -916,17 +919,17 @@ class tomato_comments(GeneratedsSuper): class tomato_person(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('value', 'xs:string', 0), - MemberSpec_('id', 'xs:integer', 0), - MemberSpec_('ratio', 'xs:float', 0), - MemberSpec_('fruit', 'xs:string', 0), - MemberSpec_('vegetable', 'xs:string', 0), - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('interest', 'xs:string', 1), - MemberSpec_('category', 'xs:integer', 0), - MemberSpec_('agent', 'agent', 1), - MemberSpec_('promoter', 'booster', 1), - MemberSpec_('description', 'xs:string', 0), + MemberSpec_('value', 'xs:string', 0, 1), + MemberSpec_('id', 'xs:integer', 0, 1), + MemberSpec_('ratio', 'xs:float', 0, 1), + MemberSpec_('fruit', 'xs:string', 0, 1), + MemberSpec_('vegetable', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('interest', 'xs:string', 1, 0), + MemberSpec_('category', 'xs:integer', 0, 0), + MemberSpec_('agent', 'agent', 1, 0), + MemberSpec_('promoter', 'booster', 1, 0), + MemberSpec_('description', 'xs:string', 0, 0), ] subclass = None superclass = None @@ -1142,24 +1145,24 @@ class tomato_person(GeneratedsSuper): class tomato_programmer(tomato_person): member_data_items_ = [ - MemberSpec_('language', 'xs:string', 0), - MemberSpec_('area', 'xs:string', 0), - MemberSpec_('attrposint', 'xs:positiveInteger', 0), - MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('attrnegint', 'xs:negativeInteger', 0), - MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('email', 'xs:string', 0), - MemberSpec_('elposint', 'xs:positiveInteger', 0), - MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('elnegint', 'xs:negativeInteger', 0), - MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('eldate', 'xs:date', 0), - MemberSpec_('eldatetime', 'xs:dateTime', 0), - MemberSpec_('eltoken', 'xs:token', 0), - MemberSpec_('elshort', 'xs:short', 0), - MemberSpec_('ellong', 'xs:long', 0), - MemberSpec_('elparam', 'param', 0), - MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0), + MemberSpec_('language', 'xs:string', 0, 1), + MemberSpec_('area', 'xs:string', 0, 1), + MemberSpec_('attrposint', 'xs:positiveInteger', 0, 1), + MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0, 1), + MemberSpec_('attrnegint', 'xs:negativeInteger', 0, 1), + MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0, 1), + MemberSpec_('email', 'xs:string', 0, 0), + MemberSpec_('elposint', 'xs:positiveInteger', 0, 0), + MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0, 0), + MemberSpec_('elnegint', 'xs:negativeInteger', 0, 0), + MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0, 0), + MemberSpec_('eldate', 'xs:date', 0, 0), + MemberSpec_('eldatetime', 'xs:dateTime', 0, 0), + MemberSpec_('eltoken', 'xs:token', 0, 0), + MemberSpec_('elshort', 'xs:short', 0, 0), + MemberSpec_('ellong', 'xs:long', 0, 0), + MemberSpec_('elparam', 'param', 0, 0), + MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0, 0), ] subclass = None superclass = tomato_person @@ -1510,12 +1513,12 @@ class tomato_param(GeneratedsSuper): """Finding flow attribute unneccesary in practice. A unnamed parameter is unbound/skipped.""" member_data_items_ = [ - MemberSpec_('id', 'xs:string', 0), - MemberSpec_('name', 'xs:NCName', 0), - MemberSpec_('sid', 'xs:NCName', 0), - MemberSpec_('flow', 'FlowType', 0), - MemberSpec_('semantic', 'xs:token', 0), - MemberSpec_('type', 'xs:NMTOKEN', 0), + MemberSpec_('id', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:NCName', 0, 1), + MemberSpec_('sid', 'xs:NCName', 0, 1), + MemberSpec_('flow', 'FlowType', 0, 1), + MemberSpec_('semantic', 'xs:token', 0, 1), + MemberSpec_('type', 'xs:NMTOKEN', 0, 0), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -1641,8 +1644,8 @@ class tomato_param(GeneratedsSuper): class tomato_python_programmer(tomato_programmer): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = tomato_programmer @@ -1730,9 +1733,9 @@ class tomato_python_programmer(tomato_programmer): class tomato_java_programmer(tomato_programmer): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('status', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('status', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), ] subclass = None superclass = tomato_programmer @@ -1830,10 +1833,10 @@ class tomato_java_programmer(tomato_programmer): class tomato_agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), ] subclass = None superclass = None @@ -1944,10 +1947,10 @@ class tomato_agent(GeneratedsSuper): class tomato_special_agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'info', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'info', 0, 0), ] subclass = None superclass = None @@ -2058,13 +2061,13 @@ class tomato_special_agent(GeneratedsSuper): class tomato_booster(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('other_name', 'xs:float', 0), - MemberSpec_('class_', 'xs:float', 0), - MemberSpec_('other_value', 'xs:float', 1), - MemberSpec_('type_', 'xs:float', 1), - MemberSpec_('client_handler', 'client-handlerType', 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('other_name', 'xs:float', 0, 0), + MemberSpec_('class_', 'xs:float', 0, 0), + MemberSpec_('other_value', 'xs:float', 1, 0), + MemberSpec_('type_', 'xs:float', 1, 0), + MemberSpec_('client_handler', 'client-handlerType', 1, 0), ] subclass = None superclass = None @@ -2238,9 +2241,9 @@ class tomato_booster(GeneratedsSuper): class tomato_info(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('type', 'xs:integer', 0), - MemberSpec_('rating', 'xs:float', 0), + MemberSpec_('name', 'xs:string', 0, 1), + MemberSpec_('type', 'xs:integer', 0, 1), + MemberSpec_('rating', 'xs:float', 0, 1), ] subclass = None superclass = None @@ -2335,8 +2338,8 @@ class tomato_info(GeneratedsSuper): class tomato_client_handlerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('fullname', 'xs:string', 0), - MemberSpec_('refid', 'xs:integer', 0), + MemberSpec_('fullname', 'xs:string', 0, 0), + MemberSpec_('refid', 'xs:integer', 0, 0), ] subclass = None superclass = None diff --git a/tests/recursive_simpletype1_sup.py b/tests/recursive_simpletype1_sup.py index 571ffda4d5f45c04a1c0979408b58184df62d557..b4201cf5f875e2d9be06997dab32844db02e0431 100644 --- a/tests/recursive_simpletype1_sup.py +++ b/tests/recursive_simpletype1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,9 +665,9 @@ def _cast(typ, value): class PersonType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('personId', 'xs:integer', 0), - MemberSpec_('fname', 'xs:string', 0), - MemberSpec_('lname', 'xs:string', 0), + MemberSpec_('personId', 'xs:integer', 0, 0), + MemberSpec_('fname', 'xs:string', 0, 0), + MemberSpec_('lname', 'xs:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/reference_simpletype1_sup.py b/tests/reference_simpletype1_sup.py index 849823adfcf3aeb327bfb20a723de97cd95a9b86..6b00823bfdb364811fda7c2bbd2d2e86baaa90b8 100644 --- a/tests/reference_simpletype1_sup.py +++ b/tests/reference_simpletype1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,10 +666,10 @@ def _cast(typ, value): class dummy(GeneratedsSuper): """Comment describing your root element""" member_data_items_ = [ - MemberSpec_('test_ref_attr', 'xs:integer', 0), - MemberSpec_('test_normal_attr', 'xs:integer', 0), - MemberSpec_('test_ref_element', 'xs:integer', 0), - MemberSpec_('test_normal_element', 'xs:integer', 0), + MemberSpec_('test_ref_attr', 'xs:integer', 0, 1), + MemberSpec_('test_normal_attr', 'xs:integer', 0, 1), + MemberSpec_('test_ref_element', 'xs:integer', 0, 0), + MemberSpec_('test_normal_element', 'xs:integer', 0, 0), ] subclass = None superclass = None diff --git a/tests/rem_dup_elems1_sup.py b/tests/rem_dup_elems1_sup.py index ee67fd213fd15f5b7eafdc09a58793b79da95739..3740da719fc5fe32da298e8c58f70a436d1e149a 100644 --- a/tests/rem_dup_elems1_sup.py +++ b/tests/rem_dup_elems1_sup.py @@ -631,10 +631,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -649,6 +650,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -663,8 +666,8 @@ def _cast(typ, value): class authorsType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('author', 'author', 1), - MemberSpec_('cooperation', 'xsd:string', 1), + MemberSpec_('author', 'author', 1, 1), + MemberSpec_('cooperation', 'xsd:string', 1, 1), ] subclass = None superclass = None @@ -761,7 +764,7 @@ class authorsType(GeneratedsSuper): class author(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('description', 'xsd:string', 0), + MemberSpec_('description', 'xsd:string', 0, 0), ] subclass = None superclass = None diff --git a/tests/simplecontent_restriction1_sup.py b/tests/simplecontent_restriction1_sup.py index 155013ff94b88b1c00a433885c7cf830bb413e91..1533d86af9247375d6aa4d01e1ba677f53de3b22 100644 --- a/tests/simplecontent_restriction1_sup.py +++ b/tests/simplecontent_restriction1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,13 +665,13 @@ def _cast(typ, value): class IdentifierType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('schemeID', 'xsd:normalizedString', 0), - MemberSpec_('schemeName', 'xsd:string', 0), - MemberSpec_('schemeAgencyID', 'xsd:normalizedString', 0), - MemberSpec_('schemeAgencyName', 'xsd:string', 0), - MemberSpec_('schemeVersionID', 'xsd:normalizedString', 0), - MemberSpec_('schemeDataURI', 'xsd:anyURI', 0), - MemberSpec_('schemeURI', 'xsd:anyURI', 0), + MemberSpec_('schemeID', 'xsd:normalizedString', 0, 1), + MemberSpec_('schemeName', 'xsd:string', 0, 1), + MemberSpec_('schemeAgencyID', 'xsd:normalizedString', 0, 1), + MemberSpec_('schemeAgencyName', 'xsd:string', 0, 1), + MemberSpec_('schemeVersionID', 'xsd:normalizedString', 0, 1), + MemberSpec_('schemeDataURI', 'xsd:anyURI', 0, 1), + MemberSpec_('schemeURI', 'xsd:anyURI', 0, 1), MemberSpec_('valueOf_', 'xsd:normalizedString', 0), ] subclass = None diff --git a/tests/simpletype_memberspecs1_sup.py b/tests/simpletype_memberspecs1_sup.py index 75316542f57097044f726cedc393b76c55350029..1aa42644c94fb52f394ff08421ea4b8d0841198f 100644 --- a/tests/simpletype_memberspecs1_sup.py +++ b/tests/simpletype_memberspecs1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,7 +665,7 @@ def _cast(typ, value): class SpecialDate(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('SpecialProperty', 'xs:string', 0), + MemberSpec_('SpecialProperty', 'xs:string', 0, 1), MemberSpec_('valueOf_', 'xs:date', 0), ] subclass = None @@ -737,7 +740,7 @@ class SpecialDate(GeneratedsSuper): class ExtremeDate(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('ExtremeProperty', 'xs:string', 0), + MemberSpec_('ExtremeProperty', 'xs:string', 0, 1), MemberSpec_('valueOf_', ['RelationType', 'RelationType2', 'RelationType3', 'xs:string'], 0), ] subclass = None diff --git a/tests/simpletypes_other1_sup.py b/tests/simpletypes_other1_sup.py index 7efca4b554e8d8466c4b56fbf9b8056e34fe6e90..0c55d98700a4fa33ef8fff2298233c651324306d 100644 --- a/tests/simpletypes_other1_sup.py +++ b/tests/simpletypes_other1_sup.py @@ -630,10 +630,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -648,6 +649,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -662,7 +665,7 @@ def _cast(typ, value): class simpleTypeTestsType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simpleTypeTest', 'simpleTypeTestDefs', 1), + MemberSpec_('simpleTypeTest', 'simpleTypeTestDefs', 1, 0), ] subclass = None superclass = None @@ -742,27 +745,27 @@ class simpleTypeTestsType(GeneratedsSuper): class simpleTypeTestDefs(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('datetime1', 'xs:gYear', 0), - MemberSpec_('datetime2', 'xs:gYearMonth', 0), - MemberSpec_('datetime3', 'xs:gMonth', 0), - MemberSpec_('datetime4', 'xs:gMonthDay', 0), - MemberSpec_('datetime5', 'xs:gDay', 0), - MemberSpec_('integerVal1', 'xs:integer', 0), - MemberSpec_('integerVal2', 'xs:integer', 1), - MemberSpec_('stringVal1', 'xs:string', 0), - MemberSpec_('stringVal2', 'xs:string', 1), - MemberSpec_('booleanVal1', 'xs:boolean', 0), - MemberSpec_('booleanVal2', 'xs:boolean', 1), - MemberSpec_('decimalVal1', 'xs:decimal', 0), - MemberSpec_('decimalVal2', 'xs:decimal', 1), - MemberSpec_('doubleVal1', 'xs:double', 0), - MemberSpec_('doubleVal2', 'xs:double', 1), - MemberSpec_('floatVal1', 'xs:float', 0), - MemberSpec_('floatVal2', 'xs:float', 1), - MemberSpec_('dateVal1', 'xs:date', 0), - MemberSpec_('dateVal2', 'xs:date', 1), - MemberSpec_('dateTimeVal1', 'xs:dateTime', 0), - MemberSpec_('dateTimeVal2', 'xs:dateTime', 1), + MemberSpec_('datetime1', 'xs:gYear', 0, 0), + MemberSpec_('datetime2', 'xs:gYearMonth', 0, 0), + MemberSpec_('datetime3', 'xs:gMonth', 0, 0), + MemberSpec_('datetime4', 'xs:gMonthDay', 0, 0), + MemberSpec_('datetime5', 'xs:gDay', 0, 0), + MemberSpec_('integerVal1', 'xs:integer', 0, 0), + MemberSpec_('integerVal2', 'xs:integer', 1, 1), + MemberSpec_('stringVal1', 'xs:string', 0, 0), + MemberSpec_('stringVal2', 'xs:string', 1, 1), + MemberSpec_('booleanVal1', 'xs:boolean', 0, 0), + MemberSpec_('booleanVal2', 'xs:boolean', 1, 1), + MemberSpec_('decimalVal1', 'xs:decimal', 0, 0), + MemberSpec_('decimalVal2', 'xs:decimal', 1, 1), + MemberSpec_('doubleVal1', 'xs:double', 0, 0), + MemberSpec_('doubleVal2', 'xs:double', 1, 1), + MemberSpec_('floatVal1', 'xs:float', 0, 0), + MemberSpec_('floatVal2', 'xs:float', 1, 1), + MemberSpec_('dateVal1', 'xs:date', 0, 0), + MemberSpec_('dateVal2', 'xs:date', 1, 1), + MemberSpec_('dateTimeVal1', 'xs:dateTime', 0, 0), + MemberSpec_('dateTimeVal2', 'xs:dateTime', 1, 1), ] subclass = None superclass = None diff --git a/tests/test.py b/tests/test.py index d76e2668b2f91ac259bce87fec57cb068a3e6a92..dea1aea507dd7513ca0795bbe727eee59db07af5 100755 --- a/tests/test.py +++ b/tests/test.py @@ -62,7 +62,7 @@ class GenTest(unittest.TestCase): self.compareFiles('out1_sup.py', 'out2_sup.py', ignore=()) self.compareFiles('out1_sub.py', 'out2_sub.py') # cleanup generated files - #self.remove('out2_sup.py') + self.remove('out2_sup.py') self.remove('out2_sub.py') def test_003_element_groups(self): @@ -276,7 +276,7 @@ class GenTest(unittest.TestCase): self.failUnlessEqual(content1, content2) # cleanup generated files self.remove('literal2.py') - #self.remove('out2_sup.py') + self.remove('out2_sup.py') self.remove('out2_sub.py') def test_010_simplecontent_restriction(self): @@ -834,7 +834,8 @@ class GenTest(unittest.TestCase): self.fail("Files differed:\n{}".format(diffs)) def remove(self, filename): - os.remove(filename) + if False: + os.remove(filename) # Make the test suite. diff --git a/tests/to_etree1_sup.py b/tests/to_etree1_sup.py index a91bf2159a7092e606515f019db4eeb21525af56..347dcdc86a8108578bd601d9ab42638be7bad203 100644 --- a/tests/to_etree1_sup.py +++ b/tests/to_etree1_sup.py @@ -632,10 +632,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -650,6 +651,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -664,12 +667,12 @@ def _cast(typ, value): class peopleType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('comments', 'commentsType', 1), - MemberSpec_('person', 'personType', 1), - MemberSpec_('specialperson', 'specialperson', 1), - MemberSpec_('programmer', 'programmerType', 1), - MemberSpec_('python_programmer', 'python-programmerType', 1), - MemberSpec_('java_programmer', 'java-programmerType', 1), + MemberSpec_('comments', 'commentsType', 1, 0), + MemberSpec_('person', 'personType', 1, 0), + MemberSpec_('specialperson', 'specialperson', 1, 0), + MemberSpec_('programmer', 'programmerType', 1, 0), + MemberSpec_('python_programmer', 'python-programmerType', 1, 0), + MemberSpec_('java_programmer', 'java-programmerType', 1, 0), ] subclass = None superclass = None @@ -819,8 +822,8 @@ class peopleType(GeneratedsSuper): class commentsType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('emp', 'xs:string', 1), - MemberSpec_('bold', 'xs:string', 1), + MemberSpec_('emp', 'xs:string', 1, 0), + MemberSpec_('bold', 'xs:string', 1, 0), MemberSpec_('valueOf_', [], 0), ] subclass = None @@ -921,19 +924,19 @@ class commentsType(GeneratedsSuper): class personType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('value', 'xs:string', 0), - MemberSpec_('id', 'xs:integer', 0), - MemberSpec_('ratio', 'xs:float', 0), - MemberSpec_('fruit', 'xs:string', 0), - MemberSpec_('vegetable', 'xs:string', 0), - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('interest', 'xs:string', 1), - MemberSpec_('category', 'xs:integer', 0), - MemberSpec_('hot_agent', 'hot.agent', 0), - MemberSpec_('agent', 'agentType', 1), - MemberSpec_('promoter', 'boosterType', 1), - MemberSpec_('description', 'xs:string', 0), - MemberSpec_('range_', ['RangeType', 'xs:integer'], 0), + MemberSpec_('value', 'xs:string', 0, 1), + MemberSpec_('id', 'xs:integer', 0, 1), + MemberSpec_('ratio', 'xs:float', 0, 1), + MemberSpec_('fruit', 'xs:string', 0, 1), + MemberSpec_('vegetable', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:string', 0, 0), + MemberSpec_('interest', 'xs:string', 1, 0), + MemberSpec_('category', 'xs:integer', 0, 0), + MemberSpec_('hot_agent', 'hot.agent', 0, 0), + MemberSpec_('agent', 'agentType', 1, 0), + MemberSpec_('promoter', 'boosterType', 1, 0), + MemberSpec_('description', 'xs:string', 0, 0), + MemberSpec_('range_', ['RangeType', 'xs:integer'], 0, 0), ] subclass = None superclass = None @@ -1206,25 +1209,25 @@ class specialperson(personType): class programmerType(personType): member_data_items_ = [ - MemberSpec_('language', 'xs:string', 0), - MemberSpec_('area', 'xs:string', 0), - MemberSpec_('attrposint', 'xs:positiveInteger', 0), - MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('attrnegint', 'xs:negativeInteger', 0), - MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('email', 'xs:string', 0), - MemberSpec_('elposint', 'xs:positiveInteger', 0), - MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0), - MemberSpec_('elnegint', 'xs:negativeInteger', 0), - MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0), - MemberSpec_('eldate', 'xs:date', 0), - MemberSpec_('eldatetime', 'xs:dateTime', 0), - MemberSpec_('eldatetime1', 'xs:dateTime', 0), - MemberSpec_('eltoken', 'xs:token', 0), - MemberSpec_('elshort', 'xs:short', 0), - MemberSpec_('ellong', 'xs:long', 0), - MemberSpec_('elparam', 'paramType', 0), - MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0), + MemberSpec_('language', 'xs:string', 0, 1), + MemberSpec_('area', 'xs:string', 0, 1), + MemberSpec_('attrposint', 'xs:positiveInteger', 0, 1), + MemberSpec_('attrnonposint', 'xs:nonPositiveInteger', 0, 1), + MemberSpec_('attrnegint', 'xs:negativeInteger', 0, 1), + MemberSpec_('attrnonnegint', 'xs:nonNegativeInteger', 0, 1), + MemberSpec_('email', 'xs:string', 0, 0), + MemberSpec_('elposint', 'xs:positiveInteger', 0, 0), + MemberSpec_('elnonposint', 'xs:nonPositiveInteger', 0, 0), + MemberSpec_('elnegint', 'xs:negativeInteger', 0, 0), + MemberSpec_('elnonnegint', 'xs:nonNegativeInteger', 0, 0), + MemberSpec_('eldate', 'xs:date', 0, 0), + MemberSpec_('eldatetime', 'xs:dateTime', 0, 0), + MemberSpec_('eldatetime1', 'xs:dateTime', 0, 0), + MemberSpec_('eltoken', 'xs:token', 0, 0), + MemberSpec_('elshort', 'xs:short', 0, 0), + MemberSpec_('ellong', 'xs:long', 0, 0), + MemberSpec_('elparam', 'paramType', 0, 0), + MemberSpec_('elarraytypes', ['ArrayTypes', 'xs:NMTOKEN'], 0, 0), ] subclass = None superclass = personType @@ -1560,12 +1563,12 @@ class programmerType(personType): class paramType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('id', 'xs:string', 0), - MemberSpec_('name', 'xs:NCName', 0), - MemberSpec_('sid', 'xs:NCName', 0), - MemberSpec_('flow', 'FlowType', 0), - MemberSpec_('semantic', 'xs:token', 0), - MemberSpec_('type', 'xs:NMTOKEN', 0), + MemberSpec_('id', 'xs:string', 0, 1), + MemberSpec_('name', 'xs:NCName', 0, 1), + MemberSpec_('sid', 'xs:NCName', 0, 1), + MemberSpec_('flow', 'FlowType', 0, 1), + MemberSpec_('semantic', 'xs:token', 0, 1), + MemberSpec_('type', 'xs:NMTOKEN', 0, 0), MemberSpec_('valueOf_', 'xs:string', 0), ] subclass = None @@ -1682,12 +1685,12 @@ class paramType(GeneratedsSuper): class python_programmerType(programmerType): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('drcs_attr', 'xs:string', 0), - MemberSpec_('gui_developer', 'xs:boolean', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), - MemberSpec_('flowvalue', ['FlowType', 'xs:integer'], 0), - MemberSpec_('drcs', 'xs:string', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('drcs_attr', 'xs:string', 0, 1), + MemberSpec_('gui_developer', 'xs:boolean', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), + MemberSpec_('flowvalue', ['FlowType', 'xs:integer'], 0, 0), + MemberSpec_('drcs', 'xs:string', 0, 0), ] subclass = None superclass = programmerType @@ -1809,14 +1812,14 @@ class python_programmerType(programmerType): class java_programmerType(programmerType): member_data_items_ = [ - MemberSpec_('nick-name', 'xs:string', 0), - MemberSpec_('status', 'xs:string', 0), - MemberSpec_('favorite_editor', 'xs:string', 0), - MemberSpec_('datetime1', 'xs:gYear', 0), - MemberSpec_('datetime2', 'xs:gYearMonth', 0), - MemberSpec_('datetime3', 'xs:gMonth', 0), - MemberSpec_('datetime4', 'xs:gMonthDay', 0), - MemberSpec_('datetime5', 'xs:gDay', 0), + MemberSpec_('nick-name', 'xs:string', 0, 1), + MemberSpec_('status', 'xs:string', 0, 1), + MemberSpec_('favorite_editor', 'xs:string', 0, 0), + MemberSpec_('datetime1', 'xs:gYear', 0, 0), + MemberSpec_('datetime2', 'xs:gYearMonth', 0, 0), + MemberSpec_('datetime3', 'xs:gMonth', 0, 0), + MemberSpec_('datetime4', 'xs:gMonthDay', 0, 0), + MemberSpec_('datetime5', 'xs:gDay', 0, 0), ] subclass = None superclass = programmerType @@ -1946,11 +1949,11 @@ class java_programmerType(programmerType): class agentType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'infoType', 0), - MemberSpec_('vehicle', 'vehicleType', 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'infoType', 0, 0), + MemberSpec_('vehicle', 'vehicleType', 1, 1), ] subclass = None superclass = None @@ -2073,10 +2076,10 @@ class special_agentType(agentType): """This is a good kind of agent for testing the generation of Python bindings for an XML schema.""" member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'infoType', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'infoType', 0, 0), ] subclass = None superclass = agentType @@ -2173,10 +2176,10 @@ class weird_agentType(agentType): """This is a good kind of agent for testing the generation of Python bindings for an XML schema.""" member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('info', 'infoType', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('info', 'infoType', 0, 0), ] subclass = None superclass = agentType @@ -2271,14 +2274,14 @@ class weird_agentType(agentType): class boosterType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('member-id', 'xs:string', 0), - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('other_name', 'xs:float', 0), - MemberSpec_('class_', 'xs:float', 0), - MemberSpec_('other_value', 'xs:float', 1), - MemberSpec_('type_', 'xs:float', 1), - MemberSpec_('client_handler', 'client-handlerType', 1), + MemberSpec_('member-id', 'xs:string', 0, 1), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('other_name', 'xs:float', 0, 0), + MemberSpec_('class_', 'xs:float', 0, 0), + MemberSpec_('other_value', 'xs:float', 1, 0), + MemberSpec_('type_', 'xs:float', 1, 0), + MemberSpec_('client_handler', 'client-handlerType', 1, 0), ] subclass = None superclass = None @@ -2441,9 +2444,9 @@ class boosterType(GeneratedsSuper): class infoType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('name', 'xs:string', 0), - MemberSpec_('type', 'xs:integer', 0), - MemberSpec_('rating', 'xs:float', 0), + MemberSpec_('name', 'xs:string', 0, 1), + MemberSpec_('type', 'xs:integer', 0, 1), + MemberSpec_('rating', 'xs:float', 0, 1), ] subclass = None superclass = None @@ -2523,7 +2526,7 @@ class infoType(GeneratedsSuper): class vehicleType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('wheelcount', 'xs:integer', 0), + MemberSpec_('wheelcount', 'xs:integer', 0, 0), ] subclass = None superclass = None @@ -2592,7 +2595,7 @@ class vehicleType(GeneratedsSuper): class automobile(vehicleType): member_data_items_ = [ - MemberSpec_('drivername', 'xs:string', 0), + MemberSpec_('drivername', 'xs:string', 0, 0), ] subclass = None superclass = vehicleType @@ -2649,7 +2652,7 @@ class automobile(vehicleType): class airplane(vehicleType): member_data_items_ = [ - MemberSpec_('pilotname', 'xs:string', 0), + MemberSpec_('pilotname', 'xs:string', 0, 0), ] subclass = None superclass = vehicleType @@ -2706,10 +2709,10 @@ class airplane(vehicleType): class hot_agent(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('firstname', 'xs:string', 0), - MemberSpec_('lastname', 'xs:string', 0), - MemberSpec_('priority', 'xs:float', 0), - MemberSpec_('startDate', 'xs:date', 0), + MemberSpec_('firstname', 'xs:string', 0, 0), + MemberSpec_('lastname', 'xs:string', 0, 0), + MemberSpec_('priority', 'xs:float', 0, 0), + MemberSpec_('startDate', 'xs:date', 0, 0), ] subclass = None superclass = None @@ -2813,8 +2816,8 @@ class hot_agent(GeneratedsSuper): class client_handlerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('fullname', 'xs:string', 0), - MemberSpec_('refid', 'xs:integer', 0), + MemberSpec_('fullname', 'xs:string', 0, 0), + MemberSpec_('refid', 'xs:integer', 0, 0), ] subclass = None superclass = None diff --git a/tests/validate_simpletypes1_sup.py b/tests/validate_simpletypes1_sup.py index 7e215572433878292263f8af306afdb34f9297e1..bef973b3a41c570091e6f53aea60261ea4194bc7 100644 --- a/tests/validate_simpletypes1_sup.py +++ b/tests/validate_simpletypes1_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,11 +664,11 @@ def _cast(typ, value): class containerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('sample1', 'simpleOneType', 1), - MemberSpec_('sample2_bad', 'simpleOneType', 1), - MemberSpec_('sample3_bad', 'simpleOneType', 1), - MemberSpec_('sample4_bad', 'simpleOneType', 1), - MemberSpec_('sample2', 'simpleTwoType', 1), + MemberSpec_('sample1', 'simpleOneType', 1, 0), + MemberSpec_('sample2_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample3_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample4_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample2', 'simpleTwoType', 1, 0), ] subclass = None superclass = None @@ -813,30 +816,30 @@ class containerType(GeneratedsSuper): class simpleOneType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('integer_range_1_value', ['integer_range_1_st', 'integer_range_2_st', 'xs:integer'], 0), - MemberSpec_('pattern_value', ['pattern_st', 'pattern_1_st', 'min_length_st', 'xs:string'], 0), - MemberSpec_('token_enum_value', ['token_enum_st', 'xs:NMTOKEN'], 0), - MemberSpec_('integer_range_incl_value', ['integer_range_incl_st', 'xs:integer'], 0), - MemberSpec_('integer_range_excl_value', ['integer_range_excl_st', 'xs:integer'], 0), - MemberSpec_('min_max_length_value', ['min_max_length_st', 'xs:string'], 0), - MemberSpec_('length_value', ['length_st', 'xs:string'], 0), - MemberSpec_('totalDigits_value', ['totalDigits_st', 'xs:decimal'], 0), - MemberSpec_('date_minincl_value', ['date_minincl_st', 'xs:date'], 0), - MemberSpec_('date_maxincl_value', ['date_maxincl_st', 'xs:date'], 0), - MemberSpec_('date_minexcl_value', ['date_minexcl_st', 'xs:date'], 0), - MemberSpec_('date_maxexcl_value', ['date_maxexcl_st', 'xs:date'], 0), - MemberSpec_('time_minincl_value', ['time_minincl_st', 'xs:time'], 0), - MemberSpec_('time_maxincl_value', ['time_maxincl_st', 'xs:time'], 0), - MemberSpec_('time_minexcl_value', ['time_minexcl_st', 'xs:time'], 0), - MemberSpec_('time_maxexcl_value', ['time_maxexcl_st', 'xs:time'], 0), - MemberSpec_('datetime_minincl_value', ['datetime_minincl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_maxincl_value', ['datetime_maxincl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_minexcl_value', ['datetime_minexcl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_maxexcl_value', ['datetime_maxexcl_st', 'xs:dateTime'], 0), - MemberSpec_('vbar_pattern_value', ['vbar_pattern_st', 'xs:string'], 0), - MemberSpec_('anonymous_float_value', ['anonymous_float_valueType', 'xs:float'], 0), - MemberSpec_('primative_integer', 'xs:integer', 0), - MemberSpec_('primative_float', 'xs:float', 0), + MemberSpec_('integer_range_1_value', ['integer_range_1_st', 'integer_range_2_st', 'xs:integer'], 0, 0), + MemberSpec_('pattern_value', ['pattern_st', 'pattern_1_st', 'min_length_st', 'xs:string'], 0, 0), + MemberSpec_('token_enum_value', ['token_enum_st', 'xs:NMTOKEN'], 0, 0), + MemberSpec_('integer_range_incl_value', ['integer_range_incl_st', 'xs:integer'], 0, 0), + MemberSpec_('integer_range_excl_value', ['integer_range_excl_st', 'xs:integer'], 0, 0), + MemberSpec_('min_max_length_value', ['min_max_length_st', 'xs:string'], 0, 0), + MemberSpec_('length_value', ['length_st', 'xs:string'], 0, 0), + MemberSpec_('totalDigits_value', ['totalDigits_st', 'xs:decimal'], 0, 0), + MemberSpec_('date_minincl_value', ['date_minincl_st', 'xs:date'], 0, 0), + MemberSpec_('date_maxincl_value', ['date_maxincl_st', 'xs:date'], 0, 0), + MemberSpec_('date_minexcl_value', ['date_minexcl_st', 'xs:date'], 0, 0), + MemberSpec_('date_maxexcl_value', ['date_maxexcl_st', 'xs:date'], 0, 0), + MemberSpec_('time_minincl_value', ['time_minincl_st', 'xs:time'], 0, 0), + MemberSpec_('time_maxincl_value', ['time_maxincl_st', 'xs:time'], 0, 0), + MemberSpec_('time_minexcl_value', ['time_minexcl_st', 'xs:time'], 0, 0), + MemberSpec_('time_maxexcl_value', ['time_maxexcl_st', 'xs:time'], 0, 0), + MemberSpec_('datetime_minincl_value', ['datetime_minincl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_maxincl_value', ['datetime_maxincl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_minexcl_value', ['datetime_minexcl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_maxexcl_value', ['datetime_maxexcl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('vbar_pattern_value', ['vbar_pattern_st', 'xs:string'], 0, 0), + MemberSpec_('anonymous_float_value', ['anonymous_float_valueType', 'xs:float'], 0, 0), + MemberSpec_('primative_integer', 'xs:integer', 0, 0), + MemberSpec_('primative_float', 'xs:float', 0, 0), ] subclass = None superclass = None @@ -1426,7 +1429,7 @@ class simpleOneType(GeneratedsSuper): class simpleTwoType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simpleTwoElementOne', 'simpleTwoElementOneType', 0), + MemberSpec_('simpleTwoElementOne', 'simpleTwoElementOneType', 0, 0), ] subclass = None superclass = None @@ -1500,7 +1503,7 @@ class simpleTwoType(GeneratedsSuper): class simpleTwoElementOneType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simpleTwoElementTwo', ['simpleTwoElementTwoType', 'xs:string'], 0), + MemberSpec_('simpleTwoElementTwo', ['simpleTwoElementTwoType', 'xs:string'], 0, 0), ] subclass = None superclass = None diff --git a/tests/validate_simpletypes1_warnings.txt b/tests/validate_simpletypes1_warnings.txt index 0c0f47550ee76946f473860303d774cd86e24ec8..ff179792e61beeab9b8c8977b9c7897b1ad4064b 100644 --- a/tests/validate_simpletypes1_warnings.txt +++ b/tests/validate_simpletypes1_warnings.txt @@ -1,60 +1,60 @@ -tests/validate_simpletypes2_sup.py:990: UserWarning: Value "2" does not match xsd minExclusive restriction on integer_range_1_st +tests/validate_simpletypes2_sup.py:993: UserWarning: Value "2" does not match xsd minExclusive restriction on integer_range_1_st warnings_.warn('Value "%(value)s" does not match xsd minExclusive restriction on integer_range_1_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1000: UserWarning: Value "mmaaa1234mnopzzz" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] +tests/validate_simpletypes2_sup.py:1003: UserWarning: Value "mmaaa1234mnopzzz" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_pattern_st_patterns_, )) -tests/validate_simpletypes2_sup.py:1013: UserWarning: Value "floatxx" does not match xsd enumeration restriction on token_enum_st +tests/validate_simpletypes2_sup.py:1016: UserWarning: Value "floatxx" does not match xsd enumeration restriction on token_enum_st warnings_.warn('Value "%(value)s" does not match xsd enumeration restriction on token_enum_st' % {"value" : value.encode("utf-8")} ) -tests/validate_simpletypes2_sup.py:1020: UserWarning: Value "22" does not match xsd maxInclusive restriction on integer_range_incl_st +tests/validate_simpletypes2_sup.py:1023: UserWarning: Value "22" does not match xsd maxInclusive restriction on integer_range_incl_st warnings_.warn('Value "%(value)s" does not match xsd maxInclusive restriction on integer_range_incl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1025: UserWarning: Value "-40" does not match xsd minExclusive restriction on integer_range_excl_st +tests/validate_simpletypes2_sup.py:1028: UserWarning: Value "-40" does not match xsd minExclusive restriction on integer_range_excl_st warnings_.warn('Value "%(value)s" does not match xsd minExclusive restriction on integer_range_excl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1034: UserWarning: Value "mno pqr" does not match xsd minLength restriction on min_max_length_st +tests/validate_simpletypes2_sup.py:1037: UserWarning: Value "mno pqr" does not match xsd minLength restriction on min_max_length_st warnings_.warn('Value "%(value)s" does not match xsd minLength restriction on min_max_length_st' % {"value" : value.encode("utf-8")} ) -tests/validate_simpletypes2_sup.py:1039: UserWarning: Value "012345" does not match xsd length restriction on length_st +tests/validate_simpletypes2_sup.py:1042: UserWarning: Value "012345" does not match xsd length restriction on length_st warnings_.warn('Value "%(value)s" does not match xsd length restriction on length_st' % {"value" : value.encode("utf-8")} ) -tests/validate_simpletypes2_sup.py:1116: UserWarning: Value "0.2" does not match xsd minInclusive restriction on anonymous_float_valueType +tests/validate_simpletypes2_sup.py:1119: UserWarning: Value "0.2" does not match xsd minInclusive restriction on anonymous_float_valueType warnings_.warn('Value "%(value)s" does not match xsd minInclusive restriction on anonymous_float_valueType' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1110: UserWarning: Value "efgh" does not match xsd pattern restrictions: [['^abcd$|^ef\\|gh$']] +tests/validate_simpletypes2_sup.py:1113: UserWarning: Value "efgh" does not match xsd pattern restrictions: [['^abcd$|^ef\\|gh$']] warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_vbar_pattern_st_patterns_, )) -tests/validate_simpletypes2_sup.py:992: UserWarning: Value "9" does not match xsd maxExclusive restriction on integer_range_1_st +tests/validate_simpletypes2_sup.py:995: UserWarning: Value "9" does not match xsd maxExclusive restriction on integer_range_1_st warnings_.warn('Value "%(value)s" does not match xsd maxExclusive restriction on integer_range_1_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1000: UserWarning: Value "aaa1234mnopzzzbcd" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] +tests/validate_simpletypes2_sup.py:1003: UserWarning: Value "aaa1234mnopzzzbcd" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_pattern_st_patterns_, )) -tests/validate_simpletypes2_sup.py:1018: UserWarning: Value "-50" does not match xsd minInclusive restriction on integer_range_incl_st +tests/validate_simpletypes2_sup.py:1021: UserWarning: Value "-50" does not match xsd minInclusive restriction on integer_range_incl_st warnings_.warn('Value "%(value)s" does not match xsd minInclusive restriction on integer_range_incl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1032: UserWarning: Value "asdf asdf asdf asdf asdf asdf" does not match xsd maxLength restriction on min_max_length_st +tests/validate_simpletypes2_sup.py:1035: UserWarning: Value "asdf asdf asdf asdf asdf asdf" does not match xsd maxLength restriction on min_max_length_st warnings_.warn('Value "%(value)s" does not match xsd maxLength restriction on min_max_length_st' % {"value" : value.encode("utf-8")} ) -tests/validate_simpletypes2_sup.py:1039: UserWarning: Value "01234567890" does not match xsd length restriction on length_st +tests/validate_simpletypes2_sup.py:1042: UserWarning: Value "01234567890" does not match xsd length restriction on length_st warnings_.warn('Value "%(value)s" does not match xsd length restriction on length_st' % {"value" : value.encode("utf-8")} ) -tests/validate_simpletypes2_sup.py:1049: UserWarning: Value "2015-05-01" does not match xsd minInclusive restriction on date_minincl_st +tests/validate_simpletypes2_sup.py:1052: UserWarning: Value "2015-05-01" does not match xsd minInclusive restriction on date_minincl_st warnings_.warn('Value "%(value)s" does not match xsd minInclusive restriction on date_minincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1054: UserWarning: Value "2015-11-01" does not match xsd maxInclusive restriction on date_maxincl_st +tests/validate_simpletypes2_sup.py:1057: UserWarning: Value "2015-11-01" does not match xsd maxInclusive restriction on date_maxincl_st warnings_.warn('Value "%(value)s" does not match xsd maxInclusive restriction on date_maxincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1059: UserWarning: Value "2015-05-01" does not match xsd minExclusive restriction on date_minexcl_st +tests/validate_simpletypes2_sup.py:1062: UserWarning: Value "2015-05-01" does not match xsd minExclusive restriction on date_minexcl_st warnings_.warn('Value "%(value)s" does not match xsd minExclusive restriction on date_minexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1064: UserWarning: Value "2015-11-01" does not match xsd maxExclusive restriction on date_maxexcl_st +tests/validate_simpletypes2_sup.py:1067: UserWarning: Value "2015-11-01" does not match xsd maxExclusive restriction on date_maxexcl_st warnings_.warn('Value "%(value)s" does not match xsd maxExclusive restriction on date_maxexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1069: UserWarning: Value "13:30:00" does not match xsd minInclusive restriction on time_minincl_st +tests/validate_simpletypes2_sup.py:1072: UserWarning: Value "13:30:00" does not match xsd minInclusive restriction on time_minincl_st warnings_.warn('Value "%(value)s" does not match xsd minInclusive restriction on time_minincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1074: UserWarning: Value "17:00:00" does not match xsd maxInclusive restriction on time_maxincl_st +tests/validate_simpletypes2_sup.py:1077: UserWarning: Value "17:00:00" does not match xsd maxInclusive restriction on time_maxincl_st warnings_.warn('Value "%(value)s" does not match xsd maxInclusive restriction on time_maxincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1079: UserWarning: Value "13:30:00" does not match xsd minExclusive restriction on time_minexcl_st +tests/validate_simpletypes2_sup.py:1082: UserWarning: Value "13:30:00" does not match xsd minExclusive restriction on time_minexcl_st warnings_.warn('Value "%(value)s" does not match xsd minExclusive restriction on time_minexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1084: UserWarning: Value "17:00:00" does not match xsd maxExclusive restriction on time_maxexcl_st +tests/validate_simpletypes2_sup.py:1087: UserWarning: Value "17:00:00" does not match xsd maxExclusive restriction on time_maxexcl_st warnings_.warn('Value "%(value)s" does not match xsd maxExclusive restriction on time_maxexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1089: UserWarning: Value "2015-06-01 13:20:10" does not match xsd minInclusive restriction on datetime_minincl_st +tests/validate_simpletypes2_sup.py:1092: UserWarning: Value "2015-06-01 13:20:10" does not match xsd minInclusive restriction on datetime_minincl_st warnings_.warn('Value "%(value)s" does not match xsd minInclusive restriction on datetime_minincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1094: UserWarning: Value "2015-11-01 14:20:10" does not match xsd maxInclusive restriction on datetime_maxincl_st +tests/validate_simpletypes2_sup.py:1097: UserWarning: Value "2015-11-01 14:20:10" does not match xsd maxInclusive restriction on datetime_maxincl_st warnings_.warn('Value "%(value)s" does not match xsd maxInclusive restriction on datetime_maxincl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1099: UserWarning: Value "2015-06-01 13:20:10" does not match xsd minExclusive restriction on datetime_minexcl_st +tests/validate_simpletypes2_sup.py:1102: UserWarning: Value "2015-06-01 13:20:10" does not match xsd minExclusive restriction on datetime_minexcl_st warnings_.warn('Value "%(value)s" does not match xsd minExclusive restriction on datetime_minexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1104: UserWarning: Value "2015-11-01 14:20:10" does not match xsd maxExclusive restriction on datetime_maxexcl_st +tests/validate_simpletypes2_sup.py:1107: UserWarning: Value "2015-11-01 14:20:10" does not match xsd maxExclusive restriction on datetime_maxexcl_st warnings_.warn('Value "%(value)s" does not match xsd maxExclusive restriction on datetime_maxexcl_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1118: UserWarning: Value "6.6" does not match xsd maxInclusive restriction on anonymous_float_valueType +tests/validate_simpletypes2_sup.py:1121: UserWarning: Value "6.6" does not match xsd maxInclusive restriction on anonymous_float_valueType warnings_.warn('Value "%(value)s" does not match xsd maxInclusive restriction on anonymous_float_valueType' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:997: UserWarning: Value "aaa12zzz" does not match xsd minLength restriction on pattern_st +tests/validate_simpletypes2_sup.py:1000: UserWarning: Value "aaa12zzz" does not match xsd minLength restriction on pattern_st warnings_.warn('Value "%(value)s" does not match xsd minLength restriction on pattern_st' % {"value" : value} ) -tests/validate_simpletypes2_sup.py:1000: UserWarning: Value "aaa12zzz" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] +tests/validate_simpletypes2_sup.py:1003: UserWarning: Value "aaa12zzz" does not match xsd pattern restrictions: [['^aaa.*zzz$', '^bbb.*xxx$'], ['^.*123.*$', '^.*456.*$']] warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_pattern_st_patterns_, )) -tests/validate_simpletypes2_sup.py:1530: UserWarning: Value "pqrst" does not match xsd minLength restriction on simpleTwoElementTwoType +tests/validate_simpletypes2_sup.py:1533: UserWarning: Value "pqrst" does not match xsd minLength restriction on simpleTwoElementTwoType warnings_.warn('Value "%(value)s" does not match xsd minLength restriction on simpleTwoElementTwoType' % {"value" : value.encode("utf-8")} ) diff --git a/tests/validate_simpletypes2_sup.py b/tests/validate_simpletypes2_sup.py index 7e215572433878292263f8af306afdb34f9297e1..bef973b3a41c570091e6f53aea60261ea4194bc7 100644 --- a/tests/validate_simpletypes2_sup.py +++ b/tests/validate_simpletypes2_sup.py @@ -629,10 +629,11 @@ class MixedContainer: class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0): + def __init__(self, name='', data_type='', container=0, optional=0): self.name = name self.data_type = data_type self.container = container + self.optional = optional def set_name(self, name): self.name = name def get_name(self): return self.name def set_data_type(self, data_type): self.data_type = data_type @@ -647,6 +648,8 @@ class MemberSpec_(object): return self.data_type def set_container(self, container): self.container = container def get_container(self): return self.container + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional def _cast(typ, value): @@ -661,11 +664,11 @@ def _cast(typ, value): class containerType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('sample1', 'simpleOneType', 1), - MemberSpec_('sample2_bad', 'simpleOneType', 1), - MemberSpec_('sample3_bad', 'simpleOneType', 1), - MemberSpec_('sample4_bad', 'simpleOneType', 1), - MemberSpec_('sample2', 'simpleTwoType', 1), + MemberSpec_('sample1', 'simpleOneType', 1, 0), + MemberSpec_('sample2_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample3_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample4_bad', 'simpleOneType', 1, 0), + MemberSpec_('sample2', 'simpleTwoType', 1, 0), ] subclass = None superclass = None @@ -813,30 +816,30 @@ class containerType(GeneratedsSuper): class simpleOneType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('integer_range_1_value', ['integer_range_1_st', 'integer_range_2_st', 'xs:integer'], 0), - MemberSpec_('pattern_value', ['pattern_st', 'pattern_1_st', 'min_length_st', 'xs:string'], 0), - MemberSpec_('token_enum_value', ['token_enum_st', 'xs:NMTOKEN'], 0), - MemberSpec_('integer_range_incl_value', ['integer_range_incl_st', 'xs:integer'], 0), - MemberSpec_('integer_range_excl_value', ['integer_range_excl_st', 'xs:integer'], 0), - MemberSpec_('min_max_length_value', ['min_max_length_st', 'xs:string'], 0), - MemberSpec_('length_value', ['length_st', 'xs:string'], 0), - MemberSpec_('totalDigits_value', ['totalDigits_st', 'xs:decimal'], 0), - MemberSpec_('date_minincl_value', ['date_minincl_st', 'xs:date'], 0), - MemberSpec_('date_maxincl_value', ['date_maxincl_st', 'xs:date'], 0), - MemberSpec_('date_minexcl_value', ['date_minexcl_st', 'xs:date'], 0), - MemberSpec_('date_maxexcl_value', ['date_maxexcl_st', 'xs:date'], 0), - MemberSpec_('time_minincl_value', ['time_minincl_st', 'xs:time'], 0), - MemberSpec_('time_maxincl_value', ['time_maxincl_st', 'xs:time'], 0), - MemberSpec_('time_minexcl_value', ['time_minexcl_st', 'xs:time'], 0), - MemberSpec_('time_maxexcl_value', ['time_maxexcl_st', 'xs:time'], 0), - MemberSpec_('datetime_minincl_value', ['datetime_minincl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_maxincl_value', ['datetime_maxincl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_minexcl_value', ['datetime_minexcl_st', 'xs:dateTime'], 0), - MemberSpec_('datetime_maxexcl_value', ['datetime_maxexcl_st', 'xs:dateTime'], 0), - MemberSpec_('vbar_pattern_value', ['vbar_pattern_st', 'xs:string'], 0), - MemberSpec_('anonymous_float_value', ['anonymous_float_valueType', 'xs:float'], 0), - MemberSpec_('primative_integer', 'xs:integer', 0), - MemberSpec_('primative_float', 'xs:float', 0), + MemberSpec_('integer_range_1_value', ['integer_range_1_st', 'integer_range_2_st', 'xs:integer'], 0, 0), + MemberSpec_('pattern_value', ['pattern_st', 'pattern_1_st', 'min_length_st', 'xs:string'], 0, 0), + MemberSpec_('token_enum_value', ['token_enum_st', 'xs:NMTOKEN'], 0, 0), + MemberSpec_('integer_range_incl_value', ['integer_range_incl_st', 'xs:integer'], 0, 0), + MemberSpec_('integer_range_excl_value', ['integer_range_excl_st', 'xs:integer'], 0, 0), + MemberSpec_('min_max_length_value', ['min_max_length_st', 'xs:string'], 0, 0), + MemberSpec_('length_value', ['length_st', 'xs:string'], 0, 0), + MemberSpec_('totalDigits_value', ['totalDigits_st', 'xs:decimal'], 0, 0), + MemberSpec_('date_minincl_value', ['date_minincl_st', 'xs:date'], 0, 0), + MemberSpec_('date_maxincl_value', ['date_maxincl_st', 'xs:date'], 0, 0), + MemberSpec_('date_minexcl_value', ['date_minexcl_st', 'xs:date'], 0, 0), + MemberSpec_('date_maxexcl_value', ['date_maxexcl_st', 'xs:date'], 0, 0), + MemberSpec_('time_minincl_value', ['time_minincl_st', 'xs:time'], 0, 0), + MemberSpec_('time_maxincl_value', ['time_maxincl_st', 'xs:time'], 0, 0), + MemberSpec_('time_minexcl_value', ['time_minexcl_st', 'xs:time'], 0, 0), + MemberSpec_('time_maxexcl_value', ['time_maxexcl_st', 'xs:time'], 0, 0), + MemberSpec_('datetime_minincl_value', ['datetime_minincl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_maxincl_value', ['datetime_maxincl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_minexcl_value', ['datetime_minexcl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('datetime_maxexcl_value', ['datetime_maxexcl_st', 'xs:dateTime'], 0, 0), + MemberSpec_('vbar_pattern_value', ['vbar_pattern_st', 'xs:string'], 0, 0), + MemberSpec_('anonymous_float_value', ['anonymous_float_valueType', 'xs:float'], 0, 0), + MemberSpec_('primative_integer', 'xs:integer', 0, 0), + MemberSpec_('primative_float', 'xs:float', 0, 0), ] subclass = None superclass = None @@ -1426,7 +1429,7 @@ class simpleOneType(GeneratedsSuper): class simpleTwoType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simpleTwoElementOne', 'simpleTwoElementOneType', 0), + MemberSpec_('simpleTwoElementOne', 'simpleTwoElementOneType', 0, 0), ] subclass = None superclass = None @@ -1500,7 +1503,7 @@ class simpleTwoType(GeneratedsSuper): class simpleTwoElementOneType(GeneratedsSuper): member_data_items_ = [ - MemberSpec_('simpleTwoElementTwo', ['simpleTwoElementTwoType', 'xs:string'], 0), + MemberSpec_('simpleTwoElementTwo', ['simpleTwoElementTwoType', 'xs:string'], 0, 0), ] subclass = None superclass = None diff --git a/tutorial/generateds_tutorial.html b/tutorial/generateds_tutorial.html index 546272d9f1355466fa30086c0f194d05a1f5468d..fc814ab5c9dff342cf0cce1a64e8c5fd1f50a8ff 100644 --- a/tutorial/generateds_tutorial.html +++ b/tutorial/generateds_tutorial.html @@ -219,7 +219,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.24c</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.25a</td> </tr> </tbody> </table> @@ -228,7 +228,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">date:</th><td class="field-body">March 01, 2017</td> +<tr class="field"><th class="field-name">date:</th><td class="field-body">March 21, 2017</td> </tr> </tbody> </table> @@ -1210,7 +1210,7 @@ named <tt class="docutils literal">garden_api.py</tt>, you can create an instanc <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateds_tutorial.txt">View document source</a>. -Generated on: 2017-03-01 22:05 UTC. +Generated on: 2017-03-21 19:50 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/tutorial/generateds_tutorial.txt b/tutorial/generateds_tutorial.txt index d975b6adbb60f6670fd0af05fb5ff19fa89ff7f3..579236f1d1f31e314748d96700d734c61df1dcf9 100644 --- a/tutorial/generateds_tutorial.txt +++ b/tutorial/generateds_tutorial.txt @@ -11,7 +11,7 @@ generateDS -- Introduction and Tutorial .. version -:revision: 2.24c +:revision: 2.25a .. version diff --git a/tutorial/generateds_tutorial.zip b/tutorial/generateds_tutorial.zip index e016af18c91626367e07b8bafd18518d7e037bfd..d8a4a2e108e95ab0d368063584e83ff7d400323a 100644 Binary files a/tutorial/generateds_tutorial.zip and b/tutorial/generateds_tutorial.zip differ